天天看點

繼承群組合、抽象類和接口

繼承群組合的使用原則:

    1、很多資料中提到的一點,如果兩個類之間是is-a的關系,那麼就使用繼承,而如果是has-a的關系就使用組合。

       但是這也不是代表is-a是使用繼承的絕對理由,有時候為了消除繼承關系帶來的耦合,使用組合可以更好的實作封裝細節。

       如果在一個系統中大量應用繼承,繼承層次深了,那麼會給系統的開發和維護帶來困難。

    2、無論何時,如果你使用繼承,但是又不想向上轉型,那麼這個時候就應該慎重選擇,隻要有可能,就應該考慮使用組合來達

       到自己的目的。因為組合在類的運作期間通過類的屬性來改變類的行為,這樣更加靈活,并且可以随時出現。

    3、還有一個重要原則是方法是否共享。

抽象類和接口的選用原則:

    1、如果多個派生類的方法中沒有共同的地方,那麼就使用接口作為抽象,否則就使用抽象類作為抽象

    2、當系統某個地方隻需要定義對象的行為,而不需要實作對象的行為,這個時候就盡量使用接口。

上面隻是個簡單的介紹,讀者還需要慢慢的品味話中的含義

繼續閱讀