黑马程序员_OC学习笔记之分类和类的本质
1.分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法
2.定义方式: @interface Person(lc) @end
2.分类只能增加方法,不能增加成员变量
3.分类方法实现中可以访问原来类中声明的成员变量
4.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用
5.方法调用的优先级:分类(最后参与编译的分类优先) --> 原来类 --> 父类
6.在很多的情况下,往往是给系统自带的类添加分类,如NSObject和NSString,因为有的时候,系统类可能并不能满足我们的要求。
7.在大规模的应用中,通常把相应的功能写成一个分类,可以有无限个分类,对原有类进行扩充,一般分模块写,一个模块一个分类。
OC类的本质
1.类的本质:类的本质其实也是对象,只不错是class类型的对象,也叫做类对象
1.当程序启动时,就会加载项目中所有的类和分类,而且加载后会调用每个类和分类的+load方法,只会调用一次;
2.当第一次使用某个类时,就会调用当前类的+initialize方法;
3.先加载父类,再加载子类(先调用父类的+load方法,再调用子类的+load方法,最后调用分类的+load方法),先初始化父类,再初始化子类(先调用父类的+initialize方法,再调用子类的+initialize方法)。
4.注意:在初始化的时候,如果在分类中重写了+initialize方法,则会覆盖掉父类的。
5.重写+initialize方法可以监听类的使用情况。
浙公网安备 33010602011771号