Quindi, penso che il codice probabilmente spiega quello che sto cercando di fare meglio di quanto possa a parole, quindi ecco qui:classe astratta + mixin + ereditarietà multipla in python
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()
Il risultato:
TypeError: Can't instantiate abstract class myfoo with abstract methods bar
Sto cercando di ottenere la classe di missaggio per soddisfare i requisiti della classe astratta/di interfaccia. Cosa mi manca?
Buona chiamata, cambiando l'ordine di successione fa il trucco . P.S. il codice è stato semplificato per illustrare un punto. Il mio scenario del mondo reale è molto più complesso con un sacco di potenziali mixin e molti myfoos. – mluebke