zoukankan      html  css  js  c++  java
  • 面向对象——对继承、关联、聚合、组合、依赖的理解

    例子、理解不当之处,还请指正

    1、继承(泛化)  

    关系:a 继承自b,a is b

    就像图中所画,Benz,Audi,Lamborghini都继承自Car,都有轮子(wheel),都可以前进,与停止。

    Benz is a car.

    Audi is a car.

    Lamborghini is a car.

    2、关联

    关系:a has b

     

    3、聚合

    关系:a has b

               整体部分不负责局部对象的销毁,二者的生命周期没有关联

    4、组合

    关系:a has b

               整体部分负责局部对象的销毁

     

     5、依赖

    关系:a use b

    继承体现的是类与类之间的纵向关系
    其他四种体现的是类与类之间的横向关系


    耦合强弱:
      依赖 < 关联 < 聚合 < 组合


    从语义上来看
      继承(A is B)
      关联、聚合、组合(A has B)
      依赖(A use B)


    当组合与依赖结合时,可以替代继承
      组合+依赖(基于对象) vs 继承(面向对象)

  • 相关阅读:
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    建立索引该如何选取字段
  • 原文地址:https://www.cnblogs.com/chinxi/p/7349768.html
Copyright © 2011-2022 走看看