一、Objective-C概述
Object-C简称OC,扩充自C语言的面向对象编程语言
苹果OS X和iOS操作系统的主要编程语言
-
OC的时间进度
1) 1980年布莱德·确斯发明OC语言
2) 1988年NextStep公司使用OC开发
3) 1996年OC成为苹果主要编程语言 -
OC语言的特点
C语言的超集,允许在OC中使用C语言源代码,编译器兼容C语言程序
C语言是面向过程,OC是面向对象编程
包含一个运行时系统(Runtime)
类库丰富
二、两种编程思想
1. 面向过程编程
1)分析解决问题的步骤,实现函数,依次调用
2)以过程为中心
2. 面向对象编程
1)分解问题组成的对象,协调对象间的联系和通信,解决问题
2)以对象为中心
PS: 对象定义了解决问题的步骤中的行为,不刻意完成一个步骤
3. 举例,设计五子棋软件
1) 面向过程编程设计
分析步骤
设计各类函数
一次调用完成功能
2) 面向对象编程设计
分析结构对象
根据功能定义类
使用对象功能完成程序
旗手对象:接受用户输入,通知棋盘对象在那个修改布局变化,利用规则对象对器具进行判定
规则对象:提供游戏规则
棋盘对象:绘制布局
3): 面向对象设计具有良好的可扩展性、可重用性
三、类和对象的基本概念
-
类
具有相同特征和行为事物的抽象
导演类:
特征:姓名、性别、国籍
行为:拍电影、客串、X规则练习:描述汽车类、手机类,自己再尝试列举类并描述
-
对象
对象是类的实例,是一个具体的实例
冯小刚对象:
有姓名、有性别、有国籍
会拍电影、会客串、X规则练习:iPhone4S是否是对象、波音747是否为对象、消失的MH370是否是对象,自己列举几个对象
-
小结
1)类和对象是面向对象的核心
2)工作中就是不断的对应类,创建对象,使用对象3)如何描述类
4)区分类和对象
四、OC中类的定义
定义类分两步:接口部分和实现部分
-
接口部分:对外声明类的特征和行为
用来声明类的特征和行为
标志是@interface...@end
类名、父类名、变量、方法,
关键字@public
-
实现部分:对内实现行为
1)用来实现方法,即实现类的行为
2)标志是@implementation...@end
-
练习:
- 定义奥迪汽车类
- 定义手机类
五、类和文件
文件和类本质没有关系,为了方便管理,实现封装特性
-
类:
@interface...@end
@implementation...@end -
文件
.h 称为接口文件或头文件 .m称为实现文件,用Xcode创建一个类时默认设置如下:
1)使用类名命名文件
- .h 文件管理类的接口部分
.m 文件管理类的实现部分
- .h 文件管理类的接口部分
-
练习
1) 在.h文件中定义与文件不同名的类
2) 在.h文件中完成定义类
3) 在文件中定义多个类
六、使用类创建对象
-
创建对象分两步
1)分配内存空间
根据类中声明的实例变量为对象分配内存
Person *p = [Person alloc];
+(id)alloc; +表示这个方法属于类,只能类执行,id表示任意类型的对象,即创建好的对象
2)初始化
对创建的对象进行实例变量的初始化设置
p = [p init];
-(id)init -表示这个方法属于对象,只能对象执行,id表示初始化完成的对象
- 通常这两步需要连写
Person *p = [[Person alloc] init];