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

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

     
    继承和组合都是提高代码可重用性的手段.在设计模型时,可以按照语言识别类之间的组合关系和继承关系.
     
    从方法复用的角度考虑,如果两个类中有很多相同的代码和方法,可以从这两个类中抽象出一个父亲,提供公共方法,然后两个类作为子类,提供个性方法.
    这时继承语义更好.
     
    而组合就没有这么多限制.组合之间的类可以关系(体现为代码复用)很小,甚至没有关系.
    然而在编程中,继承与组合的取舍往往并不是那么直接明了,无法决定应该是继承还是组合.有什么标准吗?有的,这个标准就是低耦合.
     
    耦合是一个软件结构内不同模块之间互连程度的度量,也就是不同模块之间的依赖关系.
     
    低耦合批模块与模块之间,尽可能地使模块间独立存在;模块与模块之间的接口尽量少而简单.
     
    解耦就是要解除模块与模块之间的依赖.
  • 相关阅读:
    echarts之tooltip
    js随笔
    在wex5平台grid显示问题
    JSON.parse()和JSON.stringify()区别
    在wex5平台grid里面的gridselect下拉不能显示汉字问题
    wex5平台放入tabs组件后运行时显示空白
    正整数求n不用sqrt
    leetcode1143最长公共子序列
    美团Java一面(2020.3.19)
    leetcode138. 复制带随机指针的链表
  • 原文地址:https://www.cnblogs.com/chenqionghe/p/4735710.html
Copyright © 2011-2022 走看看