二.oc类和对象
2.1 面向对象思维的建立
l 2.1.1 类的概念和设计
l 2.1.2 成员变量
l 2.1.3 访问修饰符public/private/protected
2.2 OC 方法,封装
l 2.2.1 方法的概念
l 2.2.2 实例方法和类方法
l 2.2.3 构造函数和自定义构造函数
l 2.2.4 description方法
l 2.2.5 封装的概念
l 2.2.6 setter/getter方法的建立
l 2.2.7 self关键字的讲解
l 2.2.8 property关键字
2.1.1 类的概念和设计
万物皆对象(Any thing is object)比如人类,是个类别。那么小明就是人类的一个对象。
- 对他的身体特征的描述(属性)
他具有眼睛,身高,年龄等。
- 对他行为(方法)方面的观察
可以站立,奔跑,攀爬,工作,编程等
从上面两点可以看出,一个类别,具有对这种种类的描述(属性)和行为(方法)。
这些我们在设计类的时候,作为在 @interface里面的属性定义
而年龄的具体数据,具体的行为,我们需要在 @ implementation 里面来实现。
2.1.2 成员变量
@interface People : NSObject
{
*加上下划线,为了区分局部变量
*类或类对象必须是一个指针
*注意:定义不赋值,只做声明不赋值
2.1.3 访问修饰符public/private/protected
*oc当中如果没有特意强调修饰符,默认为protected
@public // 公共的,在外部可以访问
int _age;
@private// 私有的,只能在本类当中可以访问
NSString* _name;
@protected//受保护的,只能在父子类当中可以访问
int _weight;
}
@end
ObjC中所有的对象类型的变量都必须加上“*”,在ObjC中对象其实就是一个指针(例如之前看到的NSString也是如此,但是基本类型不用加”*”);
ObjC中使用[]进行方法调用,在ObjC中方法调用的本质就是给这个对象或类发送一个消息;
在ObjC中类的实例化需要两个步骤:分配内存、初始化;
类的初始化调用了父类的init方法,如果使用默认初始化方法进行初始化(没有参数),内存分配和初始化可以简写成[Person new];
公共成员的调用使用“->”操作符;
2.2.1 方法的概念
方法作为类的行为动作,用于实现具体的执行过程。
2.2.2 实例方法和类方法
2.2.3 构造函数和自定义构造函数
2.2.4 description方法
2.2.5 封装的概念
2.2.6 setter/getter方法的建立
2.2.7 self关键字的讲解
2.2.8 property关键字