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

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

     
    继承和组合都是提高代码可重用性的手段.在设计模型时,可以按照语言识别类之间的组合关系和继承关系.
     
    从方法复用的角度考虑,如果两个类中有很多相同的代码和方法,可以从这两个类中抽象出一个父亲,提供公共方法,然后两个类作为子类,提供个性方法.
    这时继承语义更好.
     
    而组合就没有这么多限制.组合之间的类可以关系(体现为代码复用)很小,甚至没有关系.
    然而在编程中,继承与组合的取舍往往并不是那么直接明了,无法决定应该是继承还是组合.有什么标准吗?有的,这个标准就是低耦合.
     
    耦合是一个软件结构内不同模块之间互连程度的度量,也就是不同模块之间的依赖关系.
     
    低耦合批模块与模块之间,尽可能地使模块间独立存在;模块与模块之间的接口尽量少而简单.
     
    解耦就是要解除模块与模块之间的依赖.
  • 相关阅读:
    docker学习
    io性能调优之page cache
    ll命令执行后结果分析
    Angular2+ ViewChild & ViewChildren解析
    <router-outlet> 干什么用的?
    npm基本命令
    什么情况下会出现undefined
    关于VUE调用父实例($parent) 根实例 中的数据和方法
    vue中的this指向问题
    对 Foreach 的理解
  • 原文地址:https://www.cnblogs.com/chenqionghe/p/4735710.html
Copyright © 2011-2022 走看看