Python'da basit bir nesne hiyerarşisi oluştururken, türetilmiş bir sınıftan üst sınıf yöntemlerini çağırabilmek istiyorum. Perl ve Java'da bunun için bir anahtar kelime vardır ( super
). Perl'de bunu yapabilirim:
package Foo;
sub frotz {
return "Bamf";
}
package Bar;
@ISA = qw(Foo);
sub frotz {
my $str = SUPER::frotz();
return uc($str);
}
Python, alt sınıf açıkça alt sınıf adlandırmak zorunda gibi görünüyor. Yukarıdaki örnekte, böyle bir şey yapmam gerekirdi Foo::frotz()
.
Bu doğru görünmüyor çünkü bu davranış derin hiyerarşiler oluşturmayı zorlaştırıyor. Çocukların hangi sınıfın kalıtsal bir yöntemi tanımladığını bilmesi gerekiyorsa, her türlü bilgi ağrısı yaratılır.
Bu, python'da gerçek bir sınırlama mı, anlayışımdaki bir boşluk mu yoksa her ikisi de mi?