2011年5月2日 星期一

何時使用繼承

 

繼承階層架構中的物件繼承基底類別中所定義的欄位、屬性、方法及事件,所以物件應具有與其基底類別的 "Is a" 關聯性。代表與其他類別 "Has a" 關聯性的類別不適合繼承階層架構,因為這些類別會繼承不適當的屬性及方法。例如,如果 CustomerReferral 類別衍生自之前討論的 Customer 類別,則會繼承如 ShippingPrefs 和 LastOrderPlaced 之類無意義的屬性。應使用沒有關聯的類別或介面來代表此類的 "Has a" 關聯性。下圖分別顯示 "Is a" 和 "Has a" 關聯性的範例。

"Is a" 和 "Has a" 的關聯性

何時使用繼承

沒有留言: