考虑这个例子:
class master:
@classmethod
def foo(cls):
cls.bar()
class slaveClass( master ):
@classmethod
def bar(cls):
print("This is class method")
slaveType = slaveClass
slaveType.foo()
class slaveInstance( master ):
#def foo(self):
# self.foo()
def __init__(self,data):
self.data=data
print("Instance has been made")
def bar(self):
print("This is "+self.data+" method")
slaveType = slaveInstance("instance")
slaveType.foo()
我知道当最后一个定义foo
未注释时它可以工作,但是有没有其他方法可以在foo
不改变用法的情况下使用这个函数。我有一个大型项目,其中类定义了事物的工作方式,并且我能够改变方式,slaveType
但碰巧存在需要实例的情况,并且有太多foo
类似的函数需要覆盖实例行为。
谢谢堆垛机!