계속 진행하기 전에 하위 클래스 별 처리를 수행하기 위해 supercass에서 코드에 메서드를 부탁합니다. 나는 C#에서 파이썬으로 최근에왔다. 아마도 ... 인터페이스를 사용할 것이다. 여기에 그 요지가 있습니다 (그림으로 그려지지만 작동하지 않습니다) :수퍼 클래스에서 메서드를 호출하려면 어떻게해야합니까? 정의가 완전히 하위 클래스로 이연됩니까?
class superClass:
def do_specific_stuff(self): #To be implemented entirely by the subclass,
#but called from the superclass
pass
def do_general_stuff1(self):
#do misc
def do_general_stuff2(self):
#do more misc
def main_general_stuff(self):
do_general_stuff1()
do_specific_stuff()
do_general_stuff2()
나는 다소 복잡한 구현이 있습니다. 이 예제는 정확히 내가 처음 보는 사람을 이해하는 데 필요한 고통이며 훨씬 덜 고통 스럽습니다. 지금 do_specific_stuff()
을 호출하면 오류가 발생합니다.
'글로벌 이름'do_specific_stuff '가 정의되지 않았습니다.
self.do_specific_stuff
에 내가 오류를 얻을 나는이 '자기'를 추가
'형식 오류 :. do_specific_stuff() 0 위치 인수하지만 1 주어진 소요' 어떤 사람? 사전에 감사 ...
보조 노트 : 기본 클래스에'do_specific_stuff' 메소드가 전혀 필요하지 않습니다. 파이썬이나 그 밖의 것들에는 "가상적이고 가상이 아닌 메소드"가 없습니다. 모든 메소드는 먼저 서브 클래스에서 찾는다. – abarnert