-1
我知道這可能是一個簡單的解決方案。但是,它困擾了我。 我只需要訪問父類的方法,設置一個變量,然後從子類中返回它。修改並返回父類的變量 - Python
class Person(object):
some code ...
def setAge(self, age):
#assumes age is an int greater than 0
#sets self's age to age (in years)
self.age = age
def getAge(self):
#assumes that self's age has been set
#returns self's current age in years
if self.age == None:
raise ValueError
return self.age
class Child(Person):
code ...
def setAge(self, age):
Person(self.name).setAge(age)
def getAge(self):
return Person(self.name).age
我甚至在setAge方法的父類中拋出了一些打印語句,並給出了正確的值。但是,當我試圖稱它爲孩子時。它給我一個None導致提高ValueError
它不能解決問題。我無法更改父類。我明白,因爲我會使用通過將方法傳遞給子類,我可以解決這個問題。但是,對我的代碼進行評分的程序在子類中使用def方法來測試它的正確與否。但是,我非常感謝您的回覆。所以很快。 – CaptObvious
您沒有閱讀chepner的回答。您不需要修改Parent。您只需要在Parent上不存在的Child上定義方法。這是正確的答案。 –
是的,是的。你是對的。我重新測試。我在那裏留下了一些糟糕的代碼,通過我。對不起,有任何問題。但是,謝謝你們兩位。我知道這是一個基石問題。但是,感謝提示:-D – CaptObvious