파이썬에서 간단한 객체 계층을 만들 때 파생 클래스에서 부모 클래스의 메서드를 호출 할 수 있기를 원합니다. Perl과 Java에는이 키워드 ( super
)에 대한 키워드가 있습니다. Perl에서는 다음과 같이 할 수 있습니다.
package Foo;
sub frotz {
return "Bamf";
}
package Bar;
@ISA = qw(Foo);
sub frotz {
my $str = SUPER::frotz();
return uc($str);
}
파이썬에서는 자식 클래스에서 부모 클래스의 이름을 명시 적으로 지정해야합니다. 위의 예에서와 같은 작업을 수행해야합니다 Foo::frotz()
.
이 동작으로 인해 깊은 계층 구조를 만드는 것이 어려워지기 때문에 이것은 옳지 않은 것 같습니다. 자녀가 상속받은 메소드를 정의한 클래스를 알아야하는 경우 모든 종류의 정보 고통이 발생합니다.
이것은 파이썬의 실제 제한입니까, 이해의 차이입니까, 아니면 둘 다입니까?