Próbuję znaleźć najlepszy sposób na rozszerzenie zmiennej klasy. Mam nadzieję, że przykład metody, którą do tej pory wymyśliłem, jasno to wyjaśni.Właściwości klasy Pythona
class A(object):
foo = ['thing', 'another thing']
class B(A):
foo = A.foo + ['stuff', 'more stuff']
Staram się więc, aby podklasa dziedziczyła i rozszerzała zmienną klasy rodzica. Powyższa metoda działa, ale wydaje się nieco kludgey. Jestem otwarty na wszelkie sugestie, w tym osiągnięcie czegoś podobnego przy użyciu zupełnie innego podejścia.
Oczywiście mogę nadal korzystać z tej metody, jeśli zajdzie taka potrzeba, ale jeśli jest lepszy sposób, chciałbym ją znaleźć.
co chodzi o 'foo' że musi być [klasa własności] (http: // stackoverflow.com/questions/128573/), a nie tylko właściwość instancji? (Zważywszy, że listy są zmienne, możesz * zmienić * właściwość klasy na czas '__init__'.) – kojiro
IMHO, co dla mnie wygląda dobrze (i nie mogę wymyślić bardziej czystego sposobu wykonania) to). Nawiasem mówiąc, nazwałbym te "atrybuty klas", a nie "właściwości klas", ponieważ właściwość jest czymś innym (zwykle tworzonym przez wbudowaną funkcję/dekorator 'property'). – mgilson
@kojiro On nie odnosi się do tego rodzaju właściwości, on po prostu oznacza atrybuty. – Julian