組合和繼承

2021-09-30 13:52:09 字數 476 閱讀 4988

一、可復用分類

1.組合  2.繼承

二、組合

可以理解成has a

組合: 部分只能屬於乙個整體

三、組合語法

類a 組合 乙個類b的物件

class a

四:依賴關係

把乙個物件 定義成區域性變數  並且呼叫該物件的方法 這時候會產生依賴

五:繼承

可以理解成is a

六、繼承語法

使用關鍵字extends

public class student extends person

public static void main(string args)

}

七、父類也叫基類、超類

子類也叫派生類、衍生類

八:組合和繼承如何選用?

多用組合,少用繼承。 除非有明確的is a 關係再使用繼承,因為組合比繼承更加靈活。

組合繼承和寄生式組合繼承

組合繼承綜合了原型鏈和盜用建構函式,解決了原型內引用值共享的問題,以及子類在例項化時不能給父類建構函式傳參的問題。缺點 呼叫了兩次父類建構函式影響效率,而且子類的原型物件上也擁有了不必要也用不上的屬性,即父類建構函式的例項屬性。這樣的話子類的例項物件如果刪除某個屬性,這個屬性仍然可以訪問到,因為它可...

繼承和組合

繼承是一種白箱復用,父類的內部細節對子類可見。物件組合彼此不知道對方內部細節,成為黑箱復用。繼承的優缺點 1 子類可以直接重定義父類的操作。2 編譯時刻決定了,無法在執行期間更改。3 子類要知道父類的實現細節,這樣就部分破壞了封裝性。子類和父類依賴過於緊密,父類的某些變化必然導致子類的變化。開發過程...

繼承和組合

1.相同點 二者都是實現類重用的重要方式。2.不同點 繼承會破壞封裝性。例 class a public void breath class b extends a class c extends a 則b,c物件則能夠訪問a中的public方法和屬性,在一定程度上破壞了類的封裝性。使用組合的方法如...