load 和 initialize 方法的区别?

2019-02-15  本文已影响0人  狒狒James_Leo

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

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

从父类和分类的角度去说

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

上一篇 下一篇

猜你喜欢

热点阅读