- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
苹果软件开发基础02-objectivec语言介绍.pdf
IPHONE程序设计基础
2-4/18
田波 tianbo@ /bobtian
厦门大学嘉庚学院 2013秋
介绍内容
• OOP 术语
• C和Objective C 的类型和变量
• NSString 对象
• 类、方法、属性、继承
• 构造器和初始化
• 选择器
• Category
• Protocol
• 集合对象
• 内存管理
OOP 术语
• 类Class: defines the grouping of data and
code, the “type” of an object.
• 实例Instance: a specific allocation of a class.
• 方法Method: a “function ” that an object
knows how to perform.
• 成员(变量)Instance Variable (or “ivar”):
a specific piece of data belonging to an
object.
• 封装Encapsulation
• Keep implementing private and separate from interface
• 继承Inheritance
• Hierarchical organization, share code, customize or extend
behaviors
• 多态Polymorphism
• Different objects, same interface
Objective C
• Abbr. OC
• C语言的严格的超集
• Java JNI
• C/OC Mix
• C 、OC 混用,不是java 的JNI 。
• 甚至可以和C++ 混用
• 简单,但有些新的有趣且更合理的语法
• 单继承
• 协议Protocols定义跨类的行为
• 动态运行时
HelloWorld!
printf/NSLog
数据类型
id 类型
• 不需要强制类型转换即可变为任何类型
• id vehicle = carInstance;
• 本质上是void* ,所占内存大小等同于指针
• idSomeProtocol
• 运行时确定类型
nil vs java NULL/null
• Java 的null
• try {
• //do some stuff
} catch (NullPointerException e) {
e.printStaceTrace();
}
• Like null, but more safe silent
• blessing curse
NS Objects
• Foundation/ Foundation.h 中几乎所有的类都形如NSXxx
• NS 即 Next Step, 后开源更名为Open Step
• NSString
• NSObject
NSString
• C 的string
• char* s;
• 连续的若干个char 的内存区域,非对象
• NSString
• Unicode支持
• 对象 :能够知道自己长度、打印自己、 内容相等比较等
• 如何区分两者
• “”
• @””
• [xxx yyy] 这是神马?
• NSLog(@”%@”, helloWorld); ?
• 什么时候用””?什么时候用@””?
OC方法调用 - Message Syntax
OC方法调用
自己定义OC类 header file
Implementation file
Objective C 的汇总性头文件
通过宏来定义log级别
文档评论(0)