您的位置:首页 > 移动开发 > IOS开发

继承

2015-10-14 18:03 387 查看


继承

 
  继承从代码复用的角度来说,特别好用,也特别容易被滥用和被错用。不恰当地使用继承导致的最大的一个缺陷特征就是高耦合。

    例如:

    object -> model

    object -> view

    object -> controller

    这里是有非常明确的层次关系的,我在这里也顺便提一下使用继承的3大要点:

 
  父类只是给子类提供服务,并不涉及子类的业务逻辑

 
  object并不影响model view controller 执行逻辑和业务

 
  object为子类提供基础服务例如内存计数

 
 层级关系明显,功能划分清晰,父类和子类各做各的

 
 object不参与MVC的管理中,那些都是各自派生类自己处理的事

 
 父类的所有变化,都需要在子类中体现,也就是说此时耦合已经成为需求

 
  object对类的描述,对内存引用的计数方式等,都是普通影响派生类

 
 


总结

    可见,代码复用也是分类别的,如果当初只是出于代码复用的目的而不区分类别和场景,就采用继承是不恰当的。我们应当考虑以上3点要素看是否符合,才能决定是否使用继承。就目前大多数的开发任务来看,继承出现的场景不多,主要还是代码复用的场景比较多,然而通过组合去进行代码复用显得要比继承麻烦一些,因为组合要求你有更强的抽象能力,继承则比较符合直觉。然而从未来可能产生的需求变化和维护成本来看,使用组合其实是很值得的。另外,
当你发现你的继承超过2层的时候,你就要好好考虑是否这个继承的方案了
,第三层继承正是滥用的开端。确定有必要之后,再进行更多层次的继承。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios