Python에서 간단한 객체 계층 구조를 만들 때 파생 클래스에서 부모 클래스의 메소드를 호출 할 수 있기를 바랍니다. Perl과 Java에는 this (super)에 대한 키워드가 있습니다. 펄, 나는이 작업을 수행 할 수 있습니다 파이썬에서Python에서 자식 클래스의 부모 클래스의 메서드를 호출 하시겠습니까?
package Foo;
sub frotz {
return "Bamf";
}
package Bar;
@ISA = qw(Foo);
sub frotz {
my $str = SUPER::frotz();
return uc($str);
}
을, 내가 아이에서 명시 적으로 부모 클래스 이름을 가지고 나타납니다. 위의 예에서 Foo :: frotz()와 같은 작업을 수행해야합니다.
이 동작으로 인해 심층적 인 계층 구조를 만들기가 어렵 기 때문에이 방법이 적합하지 않습니다. 어떤 클래스가 상속 된 메서드를 정의했는지 알 필요가있는 경우 모든 종류의 정보 통증이 만들어집니다.
파이썬의 실제 제한 사항입니까, 제 이해의 차이입니까? 아니면 둘 다입니까?
부모 클래스의 이름이 그렇게 나쁜 생각이 아니라고 생각합니다. 부모 클래스에 명시 적으로 이름을 지정했기 때문에 자식 클래스가 둘 이상의 부모를 상속하는 경우 도움이 될 수 있습니다. –
클래스 이름을 지정하는 옵션은 좋지 않지만 반드시 그렇게해야한다는 것은 확실합니다. – johndodo
파이썬 2와 파이썬 3 사이의 수퍼 핸들러의 변화를 알고 있어야합니다. [https://www.python.org/dev/peps/pep-3135/](https://www.python.org/dev/peps/ pep-3135 /). 수업 이름을 지정하는 것이 더 이상 필요하지 않습니다 (적어도 가끔은 신 아이디어 일지 모르지만). – jwpfox