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