Я заинтересован в создании иерархии классов, где различные Примеси создания слотов в объекте:множественного наследования и Примеси для связывания объектов слотов в Python
class A(object, Keyable, Taggable):
"""A is keyable and taggable."""
def __init__(self):
super(A, self).__init__()
print "A"
class B(BodyText, Valuable):
"""B is everything a A is, plus Valuable"""
def __init__(self):
super(B, self).__init__()
print "B"
class C(BodyKey, Posable):
"""C is everything a B is, plus Posable"""
def __init__(self):
super(C, self).__init__()
print "C"
Однако, когда я пытаюсь запустить этот код (наряду с указанным ниже Mixins) я получаю сообщение об ошибке «» «Невозможно создать последовательное разрешение метода порядка (MRO) для баз Keyable, Taggable, объекта„“»
Если есть другой способ для достижения своих целей (например, состав или что-то еще) Я открыт для него.
# BEGIN MIXINS
class Posable(object):
def __init__(self):
super(Posable, self).__init__()
self.pos = 0
print "POSABLE"
class Keyable(object):
def __init__(self):
super(Keyable, self).__init__()
self.key = ''
print "KEYABLE"
class Taggable(object):
def __init__(self):
super(Taggable, self).__init__()
self.tag = ''
print "TAGGABLE"
class Valuable(object):
def __init__(self):
super(Valuable, self).__init__()
self.val = 0
print "VALUABLE"
# END MIXINS
Вам не нужно наследовать объект вообще в классе A. Также обратите внимание, что BodyText и BodyKey не определены в вашем вопросе. –