И така, мисля, че кодът вероятно обяснява какво се опитвам да направя по-добре, отколкото мога с думи, така че ето го:
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 да удовлетвори изискванията на класа abstract/interface. какво ми липсва