У меня есть классы структуры, как это:запрессовки поля значения
class A(object):
array = [1]
def __init__(self):
pass
class B(A):
array = [2, 3]
def __init__(self):
super(B, self).__init__()
class C(B):
array = [4]
def __init__(self):
super(C, self).__init__()
print array
И когда я делаю:
c = C()
Я хочу, чтобы объединить все свои поля в порядке наследования. И напечатайте [1, 2, 3, 4]. Как я могу это сделать?
ли путь или нет написать что-нибудь в компиляторе класса А, который присоединится к 'array' для всех его детей? – bobby
Это нехорошее решение, потому что оно будет изменять значения базовых классов 'array', а не просто создавать объединенные версии для подклассов. После того, как вы создадите экземпляр 'C', тогда' A.array' также будет равен '[1, 2, 3, 4]'. Кроме того, если вы дважды создаете 'C',' A.array' станет '[1, 2, 3, 4, 4]' и т. Д. – BrenBarn