zoukankan      html  css  js  c++  java
  • 面向对象的继承与组合

    面向对象的优势在于类的复用.继承与多态都是对类进行复用,它们是一个类级别的复用,一个是方法级别的复用.提到继承必提组合,二者有何异同?PHP到底有没有多态?若没有,则为什么没有?有的话,和其他语言中的多态又有什么区别?

     
    继承和组合都是提高代码可重用性的手段.在设计模型时,可以按照语言识别类之间的组合关系和继承关系.
     
    从方法复用的角度考虑,如果两个类中有很多相同的代码和方法,可以从这两个类中抽象出一个父亲,提供公共方法,然后两个类作为子类,提供个性方法.
    这时继承语义更好.
     
    而组合就没有这么多限制.组合之间的类可以关系(体现为代码复用)很小,甚至没有关系.
    然而在编程中,继承与组合的取舍往往并不是那么直接明了,无法决定应该是继承还是组合.有什么标准吗?有的,这个标准就是低耦合.
     
    耦合是一个软件结构内不同模块之间互连程度的度量,也就是不同模块之间的依赖关系.
     
    低耦合批模块与模块之间,尽可能地使模块间独立存在;模块与模块之间的接口尽量少而简单.
     
    解耦就是要解除模块与模块之间的依赖.
  • 相关阅读:
    基于RTP的h.264视频传输系统设计(一)
    NAS配置Time Machine,在D-Link DNS-320上的配置笔记
    重构版机房收费系统之分层、接口、数据库连接、反射+工厂(vb.net)
    复制表机构
    JVM内存
    System.gc()
    重写(Override) 重载(Overload)
    final 关键字
    JAVA stack
    java 获取环境变量
  • 原文地址:https://www.cnblogs.com/chenqionghe/p/4735710.html
Copyright © 2011-2022 走看看