Al crear una jerarquía de objetos simple en Python, me gustaría poder invocar métodos de la clase primaria desde una clase derivada. En Perl y Java, hay una palabra clave para this ( super
). En Perl, podría hacer esto:
package Foo;
sub frotz {
return "Bamf";
}
package Bar;
@ISA = qw(Foo);
sub frotz {
my $str = SUPER::frotz();
return uc($str);
}
En Python, parece que tengo que nombrar la clase padre explícitamente desde el niño. En el ejemplo anterior, tendría que hacer algo como Foo::frotz()
.
Esto no parece correcto ya que este comportamiento dificulta la creación de jerarquías profundas. Si los niños necesitan saber qué clase definió un método heredado, entonces se crea todo tipo de dolor de información.
¿Es esta una limitación real en Python, un vacío en mi comprensión o ambos?