has a
關聯關系:聚合
凡是能夠使用 has a 來描述的,統一以屬性的方式存在
例如 Customer has a FoodMenu(顧客有一個食物選單)
is a
繼承關系:繼承
凡是滿足is a的運算式都可以設定為繼承
例如 Cat is a Animal(貓是一種動物)
is like a
實作關系:介面
滿足 is like a 的運算式也是一種繼承
實作關系通常是:類實作介面
但是在繼承中,僅覆寫了父類方法即為Is-a;若在覆寫父類方法基礎上有新增方法,則為Is-like-a,
例子:
1.假設你確定兩件物件之間是is-a的關系,那么此時你應該使用繼承,比方菱形、圓形和方形都是形狀的一種,那么他們都應該從形狀類繼承,
2.假設你確定兩件物件之間是has-a的關系,那么此時你應該使用聚合,比方電腦是由顯示幕、CPU、硬碟等組成的,那么你應該把顯示幕、CPU、硬碟這些類聚合成電腦類,
3.假設你確定兩件物件之間是like-a的關系,那么此時你應該使用組合,比方空調繼承于制冷機,但它同一時候有加熱功能,那么你應該把讓空調繼承制冷機類,并實作加熱介面
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/256863.html
標籤:其他
