load 和 initialize 方法的区别?

load
先调用类的load, 在调用分类的load
先编译的类, 优先调用load, 调用子类的load之前, 会先调用父类的load
先编译的分类, 优先调用load

initialize
先初始化分类, 后初始化子类
通过消息机制调用, 当子类没有initialize方法时, 会调用父类的initialize方法, 所以父类的initialize方法会调用多次,Catogery的intialize的方法会覆盖自身的方法

从父类和分类的角度去说

1、父类:都是会先调用父类的 所有的分类都会调用
2、分类:\color{red} {load}的调用顺序是 父类->子类->分类 \color{red} {initialize}的调用顺序是 父类->分类->子类(且分类的会覆盖方法)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容