c 類間關係,簡化理解

2021-09-24 15:39:54 字數 717 閱讀 7218

1.繼承關係:is a

類a被類b共有繼承,b的宣告形式:

class b:public a

2.組合關係:has a 如小鳥和翅膀的關係

類a是類b的一部分,實現形式為:

class a;

class b;

銷毀b時,會先銷毀a,a只能屬於b

3.聚合關係:弱所屬關係 如大雁和雁群的關係,大雁可以屬於不同的雁群

類b由類a聚合,實現形式:

class a{};

class b;

4.關聯關係:一種關係,不是所屬,而是平等,如大雁和老鷹

若類a與類b雙向關聯,**實現為:

class a;

class b;

5.依賴關係:乙個類受另乙個類的影響

類b依賴類a的**實現:

class a{};

class b;

或class a{};

class b;

或class a{};

class b;

6.實現關係:通過純虛函式作為介面;類似與繼承關係,只不過該繼承關係中基類為抽象類

如基類中有乙個操作:畫乙個圖形,卻未給出具體實現,而在其子類中才被實現,不同子類實現方法不一,可能是畫乙個三角形,又可能是畫乙個長方形

類b實現類a,**實現:

class a;//此處用的是純虛函式

class b:public a …};

類間的關係

類間的關係 類間關係有很多種,在大的類別上可以分為兩種 縱向關係 橫向關係。縱向關係就是繼承關係,它的概念非常明確,也成為oo的三個重要特徵之一,這裡不過多的討論。橫向關係較為微妙,按照uml的建議大體上可以分為四種 1.依賴 dependency 2.關聯 association 3.聚合 agg...

類間的關係

網上關於此類的討論非常多,發現對於該問題的理解各有各的說法,而各個說法中又相去甚遠。通過瀏覽這些討論以及對 o reilly uml 2.0 in a nutshell 2007 的參考,發表一下自己的看法 類間關係有很多種,在大的類別上可以分為兩種 縱向關係 橫向關係。縱向關係就是繼承關係,它的概...

類間的關係

網上關於此類的討論非常多,發現對於該問題的理解各有各的說法,而各個說法中又相去甚遠。通過瀏覽這些討論以及對 o reilly uml 2.0 in a nutshell 2007 的參考,發表一下自己的看法 類間關係有很多種,在大的類別上可以分為兩種 縱向關係 橫向關係。縱向關係就是繼承關係,它的概...