어떻게 하위 클래스의 메서드에서 수퍼 클래스의 메서드에 액세스 할 수 있습니까? 우리는 g
의 구현에 우리는 유사 f
의 슈퍼 클래스의 구현을 호출하려면, 이제 두 개의 클래스 수퍼 클래스의 멤버 함수 액세스
class parent definition. public section. methods f. endclass. class child definition inheriting from parent. public section. methods f redefinition. methods g. endclass.
이 말할 수 있습니다 : 여기
문제가 보여주는 예입니다 주석에 명시된 바와 같이 문법적으로 잘못된 조각
class child implementation.
method g.
super->f(). "forbidden: super-> can only be used to call the previous implementation of the same method
endmethod.
endclass.
다음, super->
을 사용할 수 없습니다. 도울 수 있니?
, 그것은 child->g
에 parent->f
의 구현을 복사하는 제안 된이 할 수있는 유일한 방법은 정말?
f
가 처음부터 다시 정의하는 이유를 물었다 @vwegert 실제 사용 사례
. 내 실제 사용 사례에서는 parent
이보기이며 child
확장자입니다. child->f
은 팝업을 발생시키는 이벤트 핸들러입니다. child
은 팝업이 g
호출 형식으로 닫힐 때 콜백을 수신합니다. g
이 호출되면 원래 구현 parent->f
을 호출해야합니다.
왜 처음부터 방법을 재정의합니까 ...? – vwegert
@vwegert 질문에 실제 유스 케이스를 추가했습니다. 그러나 일반적인 질문에 대한 답변도 필요합니다. – niklasfi