python繼承父類的構(gòu)造方法 子類為什么要調(diào)用父類的構(gòu)造函數(shù)?
子類為什么要調(diào)用父類的構(gòu)造函數(shù)?默認(rèn)情況下,子類構(gòu)造函數(shù)將調(diào)用父類的無參數(shù)構(gòu)造函數(shù)。如果父類沒有無參數(shù)構(gòu)造函數(shù),則需要在子類構(gòu)造函數(shù)的第一行顯式調(diào)用父類的其他構(gòu)造函數(shù)。其次,從繼承的角度來看,如果繼承
子類為什么要調(diào)用父類的構(gòu)造函數(shù)?
默認(rèn)情況下,子類構(gòu)造函數(shù)將調(diào)用父類的無參數(shù)構(gòu)造函數(shù)。如果父類沒有無參數(shù)構(gòu)造函數(shù),則需要在子類構(gòu)造函數(shù)的第一行顯式調(diào)用父類的其他構(gòu)造函數(shù)。
其次,從繼承的角度來看,如果繼承一個類,相當(dāng)于擴(kuò)展一個類,形成一個更特殊的類。但通常,為了使用或?qū)崿F(xiàn)其他目的,我們需要將子類向上轉(zhuǎn)換為基類。
此時,如果您在生成子類對象時沒有調(diào)用父類的構(gòu)造函數(shù),我們會在使用父類的一些成員變量時報告未初始化變量的錯誤。記住,變量初始化總是在調(diào)用構(gòu)造函數(shù)之前完成的
!要構(gòu)造對象,首先調(diào)用其構(gòu)造方法來初始化其成員函數(shù)和成員變量。子類有其父類的成員變量和成員方法。如果不調(diào)用它,則從父類繼承的成員變量和成員方法將無法正確初始化。