類與類的關係

2022-06-07 05:12:08 字數 1661 閱讀 4185

類a依賴於類b,用由類a指向類b的帶箭頭虛線表示

被關聯類b以類的屬性形式出現在關聯類a中

關聯類a引用了乙個型別為被關聯b的全域性變數

;以空心菱形加實線箭頭表示

;以實心菱形加實線箭頭表示

;oop程式設計思想中,繼承是乙個十分重要的內容。下面介紹幾個 常見的容易混淆的術語。

首先舉例子:

我們常見的動物,羊有很多種類,只是一種泛指,綿羊是其中一種,那麼羊和綿羊的關係,就是is-a,即它們是繼承的關係。

再如,羊身上都有羊毛,而不同種類的羊,羊毛生物形態也不同,比如綿羊和羚羊,前者羊毛豐富、蓬鬆、柔軟,呈白色;後者羊毛稀少、剛硬,呈灰褐色。對於綿羊來說,羊毛和羊的關係就是has-a。對於羚羊也是同理。我們可以根據羊毛的不同,來區別羊的品種。

這種思想在oop上,體現在哪方面呢?答案就是抽象類和介面的關係。

如下圖:

圖1 is-a與has-a之間的關係

可以看到  myclass 繼承自 a,它們是is-a關係。

myclass實現了介面i,它們是has-a關係。

那麼is-a和is-like-a啥關係呢?

同樣,舉例子,如圖:

總結就是:

類與類的關係

首先,允許多層繼承但不允許多重繼承 一繼多 子類本質上是包含了父類的,下面這張從記憶體的角度解釋了這一點 值得一提的是構造它們的時候走建構函式的順序 在構造子類物件的時候要先構造出乙個父類物件,也就是說,先執行父類的無參構造或者系統幫忙新增的無參構造,再走子類的構造。假如父類沒有無參構造卻有有參構造...

類與類關係

表現為繼承或實現關係 is a 具體形式為類與類之間的繼承關係,介面與介面之間的繼承關係,類對介面的實現關係。指的是乙個類 稱為子類 子介面 繼承另外的乙個類 稱為父類 父介面 的功能,並可以增加它自己的新功能的能力,uml中實現用三角形箭頭和實線表示 指的乙個類實現介面 可以是多個 的功能,uml...

類與類之間的關係

uml uml是統一建模語言 為軟體開發提供一些標準的圖例,統一開發思想,從而促進團隊協作 在軟體過程中,會用到uml 分析 設計 編碼 測試 維護 主流的有 rup rational unified process 合理的統一過程 強調軟體開發一開始就要有好的設計 才能有好的設計 xp程式設計 e...