0
假设我有一个父类foo
和继承类bar
定义为这样的函数调用:Python的涉及对象继承
class foo(object):
def __init__(self, args):
for key in args.keys():
setattr(self, key, args[key])
self.subinit()
def subunit(self):
pass
...
import math
class bar(foo):
def __init__(self, arg1, arg2, ...):
args = locals()
del args['self']
super(foo, self).__init__(args)
def subunit(self):
super(foo, self).subinit()
self.arg1 = math.radians(self.arg1)
self.arg2 = math.radians(self.arg2)
...
...
我bar
重写功能subinit
因为它被定义由父类foo
。但是,因为我正在执行超类构造函数内部的行self.subinit()
。我担心foo
的subinit
定义将用于代替bar
的覆盖subinit
。那么我的问题就是:这里的执行范围是什么?如果我叫subinit
从父类的构造,将它在该实例的全部范围的工作,并呼吁bar.subinit()
或将它的功能范围工作,并呼吁foo.subinit()
试试看怎么样? –
嗯,我还没有做,因为我想看看别人是否先知道。但是,既然你坚持...... –