Wenn Sie eine einfache Objekthierarchie in Python erstellen, möchte ich Methoden der übergeordneten Klasse aus einer abgeleiteten Klasse aufrufen können. In Perl und Java gibt es ein Schlüsselwort für this ( super
). In Perl könnte ich Folgendes tun:
package Foo;
sub frotz {
return "Bamf";
}
package Bar;
@ISA = qw(Foo);
sub frotz {
my $str = SUPER::frotz();
return uc($str);
}
In Python scheint es, dass ich die übergeordnete Klasse explizit vom untergeordneten benennen muss. Im obigen Beispiel müsste ich so etwas tun Foo::frotz()
.
Dies scheint nicht richtig zu sein, da dieses Verhalten es schwierig macht, tiefe Hierarchien zu erstellen. Wenn Kinder wissen müssen, welche Klasse eine geerbte Methode definiert hat, entstehen alle Arten von Informationsschmerz.
Ist dies eine tatsächliche Einschränkung in Python, eine Lücke in meinem Verständnis oder beides?