UML中Composition和Aggregation的差異
其實這在我之前Interview某HxC公司被打槍的時候有被問到,當時小弟才疏學淺(其實現在也沒充實到哪裡去),這幾天突然又想起這個問題,google了一堆網頁,寫的都不知所云,wiki裡面說:
這是Composition:
這世界上還有比這更簡單的解釋我輸你 XD
Object composition is a way to combine simple objects or data types into more complex ones.
Aggregation differs from ordinary composition in that it does not imply ownership.媽咧... 誰知道這是在說什麼,其實簡單說,Composition就是在constructor裡面建立的物件,Aggregation就是用參數傳進去的物件。這應該是全世界最簡單的解釋了吧?
這是Composition:
class Penis{
...
}
class Man {
Man() {
Penis bigLP = new Penis();
...
}
}
這是Aggregation:
class Man {
Cloth myCloth;
Man(Cloth cloth) {
this.myCloth = cloth;
}
}
這世界上還有比這更簡單的解釋我輸你 XD
留言