分类中同名方法的调用顺序

1、普通方法的优先级: 分类> 子类 > 父类, 优先级高的同名方法覆盖优先级低的
2、+load方法的优先级: 父类> 子类> 分类
3、+load方法是在main() 函数之前调用,所有的类文件都会加载,包括分类
4、+load方法不会被覆盖
5、同一主类的不同分类中的普通同名方法调用, 取决于编译的顺序, 后编译的文件中的同名方法会覆盖前面所有的,包括主类. +load方法的顺序也取决于编译顺序, 但是不会覆盖
6、分类中的方法名和主类方法名一样会报警告, 不会报错
7、声明和实现可以写在不同的分类中, 依然能找到实现
8、当第一次用到类的时候, 如果重写了+ initialize方法,会去调用
9、当调用子类的+ initialize方法时候, 先调用父类的,如果父类有分类, 那么分类的+ initialize会覆盖掉父类的, 和普通方法差不多
10、父类的+ initialize不一定会调用, 因为有可能父类的分类重写了它

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容