我嘗試一些非常基本的Python繼承:怎麼做Python變量繼承工作
import os
class Parent:
def __init__(self):
self.text = 'parent'
def getText(self):
print self.text
class Child1(Parent):
def __init__(self):
self.x = 'x'
class Child2(Parent):
def __init__(self):
self.x = 'x'
if __name__ == "__main__":
parent = Parent()
child1 = Child1()
child2 = Child2()
parent.getText()
child1.getText()
child2.getText()
,但我不斷收到
Child1實例沒有屬性 '文本'
變量如何傳遞給孩子? (我在的Java/C#,沒有太多的Python背景)
你需要手動調用父類的構造函數 - 這裏,'self.text'在'Parent'構造函數中初始化,它永遠不會被調用。 – Holt
@請問那是什麼? 'super().__ init __()'? –
@deceze不,他們不是。我把'self.x ='x''停止編譯器抱怨縮進塊預計 –