①点语法:
常用点语法,取得对象属性的值,或者给其赋值。相当于其中的get和set方法。
②如何设置成员变量的作用域:
private:只能在当前的类中进行访问。
protected:当前类及其子类中进行访问。
public:所有地方都能访问。
③简化代码的方法:
声明:property int age; 实现:synthesize age = _age;
可以只是用 property int age,这样会自动生成 相关的成员变量_age,和实现synthesize age = _age。
④id的用法:
可以指向任何一个对象,相当于 NSObject*。id在定义对象的时候一定不要加上*。
⑤构造方法:init
重写init。在定义对象的时候 一般用 alloc + init 代替 new。构造方法一般用来初始化成员变量。
重写init的代码:
if(self = [super init])
{
实现;
}
return self;
⑥自定义构造方法:
1.一定是对象方法 -
2.返回值是 id
3.方法名一般使用init开头.
⑦category:分类
分类:不修改原来的代码,扩充一些新的方法。
@interface 类名(分类名称)
@end
@implematation 类名(分类名称)
@end
★分类只能增加方法,不能增加变量。
★分类方法可以访问原来类声明的成员变量
★重定义类方法调用顺序 分类方法 > 类方法 > 父类方法 (原来的方法被覆盖)
多个分类中实现相同的方法,以最后编译的为准。
应用:常常给系统自带的类加分类。
⑧类的本质:
类本身就是一个对象,是一个class类型的对象,简称类对象。
class c = [p class];
class c1 = [Person class];
⑨类的加载过程:
在类被加载的时候: +(void)load 运行的时候加载所有类。
+(void)initialize 第一次使用类的时候就会调用。