iOS子类属性替换父类属性

父类扩展类中声明了属性A。子类在扩展类中声明了属性B。且A,B同名。先在子类中self.B初始化赋值。则在父类中的self.A会被替换成B。这样一定程度上破坏了子类不能声明父类同名属性的原则。

类似的,父类如果声明了属性A并且暴露了该属性,同时写了对应的lazyloading方法。子类可以重写该属性的lazyloading方法,在方法里面替换self.A属性为新值(【super set属性A:新值】)。这样,在不破坏父类结构的情况下,仍旧可以实现子类属性的替换。

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