¿Hay alguna manera de lograr algo como esto? Yo trabajo en Python, pero no estoy seguro de si hay una manera de hacerlo en cualquier lenguaje de programación ...herencia en atributos de clase (python)
class Parent():
class_attribute = "parent"
@staticmethod
def class_method():
print __class__.class_attribute
class Child(Parent):
class_attribute = "child"
Yo sé que no puedo llamar directamente __class__
. Es solo un ejemplo, porque me gustaría algo como referencia a la clase en sí, porque quiero que la clase infantil actúe de forma diferente en función de su atributo_clase.
Y luego supuesta salida debe ser como este:
> Parent.class_method()
"parent"
> Child.class_method()
"child"
sé la misma técnica se puede lograr a través de las instancias. Pero no quiero crear instancias, porque a veces el código dentro del método __init__
puede ser largo y exigente y si quisiera llamar al class_method
a menudo, tendría que crear muchas instancias usadas solo para esta llamada a un método. Y porque class_attribute
y class_method
son estáticos y no serán modificados por instancias.
¿Estás hablando simplemente de funciones 'estáticas'? – Tigran