C'è un modo per realizzare qualcosa di simile? Io lavoro in Python, ma non sono sicuro se c'è un modo per farlo in qualsiasi linguaggio di programmazione ...ereditarietà sugli attributi di classe (python)
class Parent():
class_attribute = "parent"
@staticmethod
def class_method():
print __class__.class_attribute
class Child(Parent):
class_attribute = "child"
So che non posso chiamare __class__
direttamente. È solo un esempio, perché vorrei qualcosa di simile alla classe stessa, perché voglio che la classe figlio agisca in modo diverso in base al suo attributo class_.
E poi supposto uscita dovrebbe essere simile a questo:
> Parent.class_method()
"parent"
> Child.class_method()
"child"
So che la stessa tecnica può essere realizzare attraverso le istanze. Ma non voglio creare istanze, perché a volte il codice all'interno del metodo __init__
potrebbe essere lungo e impegnativo e se volessi chiamare lo class_method
spesso, dovrei creare molte istanze usate solo per questa chiamata di un metodo. E poiché class_attribute
e class_method
sono statici e non verranno modificati dalle istanze.
stai parlando semplicemente di funzioni 'statiche'? – Tigran