继承

来源:互联网 发布:adobe软件破解方法 编辑:程序博客网 时间:2024/05/22 05:18

继承


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

    例如:

    object -> model

    object -> view

    object -> controller

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

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

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

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

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

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

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

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

   

总结

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

 


0 0
原创粉丝点击