Ao criar uma hierarquia de objetos simples em Python, eu gostaria de poder invocar métodos da classe pai de uma classe derivada. No Perl e Java, há uma palavra-chave para this ( super
). No Perl, eu devo fazer isso:
package Foo;
sub frotz {
return "Bamf";
}
package Bar;
@ISA = qw(Foo);
sub frotz {
my $str = SUPER::frotz();
return uc($str);
}
Em Python, parece que eu tenho que nomear explicitamente a classe pai do filho. No exemplo acima, eu teria que fazer algo parecido Foo::frotz()
.
Isso não parece certo, pois esse comportamento dificulta a criação de hierarquias profundas. Se as crianças precisarem saber que classe definiu um método herdado, todos os tipos de problemas de informação serão criados.
Isso é uma limitação real em python, uma lacuna no meu entendimento ou em ambos?