-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