一、可復用分類
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方法和屬性,在一定程度上破壞了類的封裝性。使用組合的方法如...