我正在开发一个系统,它有一系列的单多级继承层次结构。其中一个方法(适用于所有类)必须对大多数类执行相同的操作,即将列表传递给其父类。你知道吗
我知道,如果一个人没有在继承的类中定义一个方法,就会使用其父类的方法。但是当我们使用super
方法时,我们需要提到被调用的类的名称。你知道吗
我知道有一种方法可以实现这一点,那就是用类名作为参数在每个类上重新定义方法。有什么优雅的方法可以让我在最顶层的父级定义一次,然后在必要时重写它吗?你知道吗
现在的实现是这样的
class a(object):
def __init__(self):
self.myL = list()
print 'hello'
class b(a):
def __init__(self):
super(b,self).__init__()
def resolve(self, passVal):
print passVal
self.myL.append(passVal)
super(b,self).resolve(passVal+1)
class c(b):
def __init__(self):
super(c,self).__init__()
def resolve(self, passVal):
print passVal
self.myL.append(passVal)
super(c,self).resolve(passVal+1)
相反,如果我可以在class a
中定义resolve,然后所有其他类从中继承该方法。我知道a永远用不上它。但是重新定义这个方法似乎有很多不必要的额外工作。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐