C++iOS开发–Objective-C的多继承

那是小编个人的读书笔记 , 如有不同看法欢迎评论沟通 .

( GeekBand-极客班
http://geekband.com
)
( 作者的腾讯网 :
http://weibo.com/JohnnyB0Y
)

Objective-C本人不辅助多继承 , 不过方法总是有个别 .

  • ##### 通过整合完成多一而再

如果C类要同时继续A类和B类 .
1.C类在头文件导入A类和B类的头文件 .
2.C类头文书宣称须求后续自A类和B类已有的艺术和性格 . ( 已毕两次三番的特点 )
3.在C类内部创设A类和B类的实例 , 变成自身的分子变量 . ( C类调用方法时 ,
方法内部是用A类和B类调用本人相应的法门 )
4.把A类和B类的性格与C类的天性存储方法关联起来 . ( C类继承自A类和B类 ,
就持有了A类和B类的能力 , 不过我们是在经过整合来落成多继承 ,
所以一定要确保属性关联正确 )
5.C类调用继承过来的章程时 , 实际内部是用A类和B类调用本身相应的措施的 .

  • ##### 通过磋商落到实处多延续

一旦C类要同时继续A类和B类 .
1.C类在头文件导入A类和B类的头文件 .
2.在A类和B类把须求被C类继承的章程和本性表明成一份协议 .
3.C类坚守A类和B类的磋商 .
4.在落实文件中贯彻协议方法 , 协议属性也要贯彻 . (
难题是您不可以调用到A类和B类原生的办法 )

  • ##### 组合和协和落到实处多三番五次的题材

1.结合完毕下 , 想要继承来的无论是是性质照旧艺术都并未指示 .
2.万一连续来的五个类中属性名和艺术名相同就很麻烦了 , 要仔细区分开 .
3.经过磋商落到实处的多继承 , 不可以调用父类的法门 .

  • ##### 尝试解决难点

透过把三种完成方式结合起来用 , 感觉好了很多 .
不过难点2 的质量和措施名冲突仍旧须求团结解决 .

  • #### 总结
实质上个人觉得 , 多继承和接二连三都能用组合形式来取代 , 而且组合形式更解耦不是吗 ?!