斯坦福大学公开课:iPhone开发教程2010年冬> 各种基础的类,功能,对象和实例的介绍
来源:互联网 发布:java取session 编辑:程序博客网 时间:2024/06/07 00:43
Class(类): 是实例的蓝本
Instance(实例):类的数据
Method:功能
Encapsulation封装
Polymorphism多态性
Inheritance继承 基础类 子类重写功能 扩展继承类NSObject是举出类
Objective-C是C语言严格的超集,你在C语言上写的任何东西,都能创建和运行在OC上。你可以使用任何C语言的代码在OC的应用里编译,它都能工作。OC种增加一些语法,让你能创建类和功能。我们将讨论把消息发送到对象。基础库的部分我们会迟些讨论。更多有关创建你自己的对象。OC只支持单一继承,可以说是C++中模型的简化。在OC中,每一个类只有一个确切的超类。因此继承模型是相当的简化。这是一个非常直接的链接。从基类到达更深的超类。这里有定义协议的有趣方法。协议是多个功能的集合,你集合了几个功能,然后可以指出一个特定的类去实现此协议。这会告诉编译器这个类会执行这个功能集。在这特定协议的一些方法,可以是必须或者可选的。委托基本上是一个对象需要去提问另一个对象的问题。其他对象就成为另一个对象的委托。要记住协议及其实现方式。OC中有一个动态运行库,所以它比C++更动态一点。当你要发送消息给对象时,该代码将以消息不确定的情况运行,直到该消息实际发出了一个运行时间。编译器不会去决定什么代码是任何消息发送的结果。OC是松散的类型。知道对象并不一定要知道它的类型。OC引入了一个新的类型叫ID。它基本上是一个对象的引用。对象的类型是不确定的。对编译器而言,该对象能实现任意一个功能,它知道的任何对象都能实现。如果你要将消息发送到一个ID类型的对象,编译器会那么做,因为它不知道这个对象是什么特定类型。这不重要因为它会在运行时搞清楚。类本身也是对象,它代表的类型叫做类。动态运行时间。所有oc对象都是在堆上产生出来的。所有OC的对象都从堆里分配好了,所以它们都是动态的。当你创建一个对象。它会在你销毁它之前一直存在。它不会在你退出功能前销毁。比如你有一个peison类,你调用这个类,并返回person一个新实例。然后替你autorelease。
发送消息实际用的语法。
[receiver message]
[receiver message:argument]
[receiver message:arg1 andArg:arg2]
在OC里有单独的布尔类型。它是大写BOOL或者你还有一些单独的常量去定义1和0,明显的是大写的YES和NO。
有一个类型定义了Selector 它的功能像指针。selector拥有类型SEL,它经常使用在UIControls里,代码中常量的方法是写成@selector
description 对象的描述
- 斯坦福大学公开课:iPhone开发教程2010年冬> 各种基础的类,功能,对象和实例的介绍
- 斯坦福大学公开课:iPhone开发教程2010年冬> 基础入门
- 斯坦福大学公开课:iPhone开发教程2010年冬> 如何创建你自己的定制类
- 斯坦福大学公开课:iPhone开发教程2010年冬
- 斯坦福大学公开课:iPhone开发教程2010年冬>
- 斯坦福大学公开课:iPhone开发教程2010年冬> 创建应用程序
- 斯坦福大学公开课:iPhone开发教程2010年冬
- 斯坦福大学公开课 iOS应用开发教程学习笔记(第七课)UIToolbar、iPad 和iPhone的通用程序
- iOS学习:斯坦福大学公开课: iPhone开发教程(视频)
- iPhone应用开发视频教程-斯坦福大学公开课
- 2011斯坦福大学iOS应用开发教程学习笔记(第七课)Pad和iPhone的通用程序
- 2011斯坦福大学iOS应用开发教程学习笔记(第七课)Pad和iPhone的通用程序
- 2011斯坦福大学iOS应用开发教程学习笔记(第七课)Pad和iPhone的通用程序
- 斯坦福大学iOS应用开发教程学习笔记(第七课)Pad和iPhone的通用程序
- 斯坦福大学公开课:iPad和iPhone应用开发(iOS5)--来自网易
- 斯坦福大学公开课 iOS应用开发教程学习笔记(第六课)多个MVC的程序和故事版、UINavigationController、 Segues
- 【iOS开发-7】UILabel类的用法以及实例化对象的各种属性介绍
- 斯坦福大学的iPhone视频教程
- 【OpenCV】计算Haar特征个数
- TI ble低功耗蓝牙 bluetooth4.0
- Ubuntu Server 12.04 配置Samba .
- 最长单调递增子序列
- JAVA 远程debug
- 斯坦福大学公开课:iPhone开发教程2010年冬> 各种基础的类,功能,对象和实例的介绍
- 添加系统调用
- LINUX下配置ORACLE EBS R12
- C# 各种字符串格式
- java的INPUTSTREAM和INPUTSTREAMREADER有什么区别??
- liunx下apache、tomcat整合
- Ios long值越界???int? long? long int? long long? long long int?
- ActivityGroup + GridView 实现Tab分页标签
- 更改用户的表空间限额