所以,我认为代码可能比我用语言更好地解释了我想要做的事情,所以这里是:
import abc
class foo(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
def bar(self):
pass
class bar_for_foo_mixin(object):
def bar(self):
print "This should satisfy the abstract method requirement"
class myfoo(foo, bar_for_foo_mixin):
def __init__(self):
print "myfoo __init__ called"
self.bar()
obj = myfoo()
结果:
TypeError: Can't instantiate abstract class myfoo with abstract methods bar
我试图让 mixin 类满足抽象/接口类的要求。我错过了什么?