當子類繼承父類時,可以顯示指定先初始化方法,在初始化子程式;當不顯示指定初始化父類時,系統預設初始化父類,那系統預設在什麼地方初始父類呢?看程式
class person
}public
class
chinese
extends
person
public
static
void
main(string args)
}
注釋掉程式中(1)處的位置,執行結果為:
a person.
a chinese.
把(1)處的注釋取消,執行結果為:
a person.
a chinese.
可見,如果不顯示初始化父類時,系統預設在(1)的位置進行初始化父類,然後初始化子類。 python之子類繼承父類時進行初始化的一些問題
直接看 class person def init self self.name jack class student person def init self self.school 一中 stu student print 學生的姓名是 stu.name 此時,程式是不能正常執行的,執行之後報錯...
py 子類繼承父類
class 派生類名 基類名 usr bin python coding utf 8 class parent 定義父類 parentattr 100def init self print 呼叫父類建構函式 defparentmethod self print 呼叫父類方法 defsetattr s...
子類繼承父類時建構函式的相關問題
子類物件中包含乙個父類物件在子類物件在建立過程中,先呼叫父類構造方法 先建立出內建的父類物件 然後再建立出自己的物件。所以子類構造時,會先呼叫父類的構造方法,如果你在子類構造方法中不顯示指明呼叫父類的哪個構造方法,系統會給你預設加上super 這時父類必須有乙個無參的構造方法,不然會報錯。其實咋寫都...