UML在代碼中的展現(xiàn)
依賴:一個類使用了另外一個類,這種關(guān)系是臨時的、脆弱的。
如人需要過河,需要船,這時人.過河(船) 中船被當(dāng)做參數(shù)傳入,船的實現(xiàn)變化會影響過河方法。
聚合:體現(xiàn)是整體與部分、has-a的關(guān)系,此時整體與部分之間是可分離的,他們可以具有各自的生命周期,部分可以屬于多個整體對象,也可以為多個整體對象共享。
如公司與員工,一個員工可以脫離公司到其他公司成為員工,員工也可以單獨存在,這里的依賴比較弱。
在代碼中:
class Company{
private staffArray:Staff[] = [];
public addStaff(staff:Staff){
this.staffArray.push(staff);
}
}
組合:體現(xiàn)的是一種contains-a的關(guān)系,這種關(guān)系比聚合更強,也稱為強聚合;他同樣體現(xiàn)整體與部分間的關(guān)系,但此時整體與部分是不可分的,整體的生命周期結(jié)束也就意味著部分的生命周期結(jié)束;
如人與大腦,大雁與翅膀,大雁類在實例化之前一定要先實例化翅膀,兩個類緊密耦合在一起 它們有相同的生命周期 翅膀類(Wings)不可以脫離大雁類(Goose)而獨立存在
在代碼中:
class Goose{
public wings:Wings = null;
constructor(){
wings = new Wings();
}
}
關(guān)系所表現(xiàn)的強弱程度依次為:組合>聚合>關(guān)聯(lián)>依賴;

浙公網(wǎng)安備 33010602011771號