組合
顯式的給當前對象內置一個子對象
繼承語法
何爲繼承
Java的繼承
Class A extends Class B
繼承的特性,複用父類的方法,子類裏定義新特性
子類初始化過程—父類是子類的一個子對象,只不過這個過程是隱式的,構造器概念引入:默認構造器和帶參數的構造器
代理
其實就是一種組合,目的是爲了在導出類對象中可控的使用成員對象類,繼承的話,父類的所有方法在導出類子類中都可使用,不可控,或許你只想使用父類的部分方法集。
spaceship和spacecontrol的繼承與代理(組合)
組合和繼承之間的選擇
代碼示例:car包含了engine、wheel及doors
組合 has-a關係
繼承 is-a關係