我遇到了问题,似乎无法找到解决方案。我有3个课程A
,B
和C
,其中A
是超类。
class A(object):
def __str__(self):
self._general_representation(str)
def _general_representation(self,to_string):
(nominal_value, std_dev) = (self._nominal_value, self.std_dev())
def std_dev(self)
a = error_components()*something
def error_components(self):
return something
class B(A):
class C(B):
我希望课程C
能够覆盖“祖父母”课程的std_dev()
和error_components()
。我怎样才能做到这一点?我不能改变A类和B类。在python 3.3中有没有办法解决这个问题?
答案 0 :(得分:3)
只需在类C上定义它们。函数在self
上查找,而不是在定义调用方法的类上查找。
class C(B):
def std_dev(self)
return self.error_components() * something + something_else_again
def error_components(self):
return something_entirely_different