關聯與依賴 一

2021-06-22 04:22:53 字數 940 閱讀 1301

依賴的定義是有兩個類

x, y

,如果修改

x的定義可能會引起對另乙個元素

y的定義的修改,那麼

y依賴於

b。具體的表現形式為

1)乙個類中呼叫了它乙個類的方法。

2)乙個類是另乙個類的資料成員。

3)乙個類是另乙個類的方法引數。

關聯的定義是

: 關聯表示兩類之間存在某種語義上的聯絡。看大話設計模式,如果類a在類

b中宣告,那麼就是關聯。

聚合的定義是:如果

a包含b,但

b不是a的一部分。

組合的定義是:如果

a包含b,且

b是a的一部分。

下面來看小段**

class a    請問a

和b的關係。

如果按照大話設計模式,這叫關聯。可見,在

a中只是宣告了

b型別的變數,什麼時候使,怎麼使,根本沒有具體的說明,因此,普通關聯應該是關係最弱的關係了。

下面再看聚合

class a

public give() }

大話設計模式中是這樣實現的聚合。讓我們來分析下這樣的**是怎麼樣實現聚合的特性的。在類中宣告,在方法中賦值,並呼叫體現了a包含

b.但是只有

a呼叫了

set方法才產生了具體的

b,兩者間的生命週期並不同步。(但是

a消失了,具體的

b也會消失,這點怎麼體現聚合關係的?不懂,求幫助。)

class bird

private wing wing;

public bird()

wing=new wing();

大話設計模式這樣實現組合。因為在構造方法中強制實現wing物件的例項化,因此,wing與bird的宣告週期完全相同,可謂同生共死。是一種非常霸道的占有關係。就宛如人和頭一般。

依賴與關聯的比較

類與類之間由弱到強關係是 沒關係 依賴 關聯 聚合 組合。類和類之間八竿子打不著那就是沒關係,這個沒啥歧義。依賴 dependency 可以簡單的理解,就是乙個類a使用到了另乙個類b,而這種使用關係是具有偶然性的 臨時性的 非常弱的,但是b類的變化會影響到a 比如某人要過河,需要借用一條船,此時人與...

依賴關係 關聯關係

一 依賴關係 a物件作為b物件的區域性變數或是方法形參的,b依賴於a,這時候我們稱a與b之間存在一種依賴關係 給土豪打 物件作為形式引數 void calltuhaowithphone czphone phone void sendmessagetodiaosi 1 什麼是引數依賴 當a物件作為另外...

UML 關聯和依賴

uml四大關係中,包括 泛化,實現,關聯,依賴。泛化就是我們在物件導向中提到的繼承,而實現則更多的體現在類和介面之間的關係。關聯和依賴相對於上邊兩個關係,則表現的不是很容易理解,所以我們今天來深入學習一下。它表示類與類之間的連線,它使得乙個類知道另乙個類的屬性和方法。關聯可以用單向箭頭表示單向關聯,...