【发布时间】:2011-01-18 20:43:27
【问题描述】:
我可以强制父类调用派生类的函数吗?
class Base(object):
attr1 = ''
attr2 = ''
def virtual(self):
pass # doesn't do anything in the parent class
def func(self):
print "%s, %s" % (self.attr1, self.attr2)
self.virtual()
以及派生自它的类
class Derived(Base):
attr1 = 'I am in class Derived'
attr2 = 'blah blah'
def virtual(self):
# do stuff...
# do stuff...
清除模糊性:
d = Derived()
d.func() # calls self.virtual() which is Base::virtual(),
# and I need it to be Derived::virtual()
【问题讨论】:
-
抱歉,把问题改得不那么含糊了
-
使用 python 2.6.4 并将 print 放入派生的 virtual - 它使用派生的虚拟函数 - 而不是 Base
-
是什么让你认为它在调用 Base::virtual()?
标签: python inheritance new-style-class