我已經提取了繼承和構圖之間的以下區別。我想知道延遲創建後端對象的意思是什麼?請找到下面的區別。繼承和構圖的區別
構圖允許您延遲創建後端對象,直到(並且除非)需要它們,並且在前端對象的整個生命週期中動態地更改後端對象。有了繼承,你得到的超類的形象在你的子類對象的圖像,一旦創建了子類,它在整個子類的壽命仍然是子類對象的一部分
我已經提取了繼承和構圖之間的以下區別。我想知道延遲創建後端對象的意思是什麼?請找到下面的區別。繼承和構圖的區別
構圖允許您延遲創建後端對象,直到(並且除非)需要它們,並且在前端對象的整個生命週期中動態地更改後端對象。有了繼承,你得到的超類的形象在你的子類對象的圖像,一旦創建了子類,它在整個子類的壽命仍然是子類對象的一部分
它的意思是,對象你的類封裝不需要被創建,直到有人實際調用使用該對象的方法。
在繼承中,超類是在創建子類時創建的。 在構圖中,對象在編碼器需要時創建。
這是繼承,當創建Child類時,會創建父類,因爲子類是從父類繼承的。
class Parent {
//Some code
}
class Child extends Parent{
//Some code
}
這是組成,在創建子類時,不創建對象,而是被創建時,它是需要。
class Parent{
//Some code
}
class Child{
private Parent parent = new Parent();
//Some code
}
在這種情況下,在創建Child類時也會創建Parent類。下面是在創建子類時
class Parent{
//Some code
}
class Child{
private Parent parent;
public Child()
{
}
public void createParent()
{
parent = new Parent();
}
}
注意如何不創建父,直到呼叫到createParent提出創建成分沒有物體的另一個例子。
這也意味着父母的封裝沒有被破壞。子類將父類的數據公開給子類,從而破壞了封裝。組合允許對象封裝持久化,並且兩個對象可以繼續單獨管理,以便更改一個類的數據不會影響其他類數據。