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()
試試看怎麼樣? –
嗯,我還沒有做,因爲我想看看別人是否先知道。但是,既然你堅持...... –