추상 클래스에서 추상 메소드를 수신하고 그 메소드가 호출 될 때마다 이벤트를 발생시킬 수 있습니까? 그렇다면 어떻게?추상 메소드를 수신하는 방법은 무엇입니까?
5
A
답변
2
실제로는 추상 메소드가 항상 오버라이드되어 있지 않으므로 오버라이드를 base.Method()
호출에 호출한다고 보증 할 수 없습니다.
가장 좋은 방법은 이벤트를 발생시키는 가상의 방법을 만든 다음 메서드 호출을 차단하려면 모든 재정의 base.Method()
를 호출하는 것입니다, here 그 작업을 수행하는 방법에 대한 질문입니다.
3
3
이 작업을 수행하는 가장 좋은 방법은 다음과 같습니다
누군가가 그것을 실행하기 위해DoOuter()
전화를해야 doInner를 호출하고 싶어
public abstract class MyClass {
public void DoOuter() {
FireEvent();
DoInner();
}
protected abstract void DoInner();
}
. 기능을 지정하려면 DoInner()
을 무시하십시오. 그러므로 FireEvent()
은 항상 DoInner()
기능이 지정되기 전에 호출됩니다 ... 실제로는 보호 할 수없는 하위 클래스에 의해 직접 호출되지 않는 한 ....
관련 문제
- 1. 추상 클래스에서 가상 메소드를 단위 테스트하는 방법은 무엇입니까?
- 2. Java에서 인터페이스에서 추상 메소드를 사용해야하는시기는 언제입니까?
- 3. 스크립트를 삽입하여 activeX 이벤트를 수신하는 방법은 무엇입니까?
- 4. 파이썬에서 가상 메소드를 구현하는 방법은 무엇입니까?
- 5. 메소드를 지연시키는 방법은 무엇입니까?
- 6. 특정 포트에서 Winsock을 수신하는 방법은 무엇입니까?
- 7. 스칼라에서 SNMP 트랩을 수신하는 간단한 방법은 무엇입니까?
- 8. ComponentListener보다 componentShown/componentHidden 이벤트를 수신하는 방법은 무엇입니까?
- 9. iPhone iOS4.2의 특정 포트에서 수신하는 방법은 무엇입니까?
- 10. listview 행에서 체크 박스를 수신하는 방법은 무엇입니까?
- 11. GWT 테이블에서 키보드 이벤트를 수신하는 방법은 무엇입니까?
- 12. MCU의 직렬 포트에서 패킷을 수신하는 방법은 무엇입니까?
- 13. Fennec 확장 프로그램의 페이지로드를 수신하는 방법은 무엇입니까?
- 14. ApplicationController에서 메소드를 호출하는 방법은 무엇입니까?
- 15. MySQL에서 메소드를 생성하는 방법은 무엇입니까?
- 16. Main 메소드를 문서화하는 방법은 무엇입니까?
- 17. javascript에서 메소드를 전달하는 방법은 무엇입니까?
- 18. Cairo.Context에 메소드를 추가하는 방법은 무엇입니까?
- 19. C# 메소드를 내보내는 방법은 무엇입니까?
- 20. 추상 열거 형과 비교하는 방법은 무엇입니까?
- 21. unique_together로 추상 모델을 갖는 방법은 무엇입니까?
- 22. Moq을 사용하여 추상 콜렉션을 스터핑하는 방법은 무엇입니까?
- 23. JUnit에서 추상 테스트 사례를 분할하는 방법은 무엇입니까?
- 24. 일반 추상 클래스를 반환하는 방법은 무엇입니까?
- 25. 추상 수업을 완료하는 일반적인 방법은 무엇입니까?
- 26. 추상 필드가 아닌 이유는 무엇입니까?
- 27. Delphi XE에서 상속 된 추상 메소드를 자동으로 구현하는 방법
- 28. javac는 내가 명백하게 추상 클래스 구현의 메소드를 오버라이드하지 않는다고 주장한다.
- 29. 추상 객체 값 및 메소드를 스칼라로 어떻게 선언합니까?
- 30. 추상 클래스의 목적은 무엇입니까?
이것은 실제로 C# 질문이므로 답변을 조금 편집하고 있지만 기본 아이디어는 정확합니다. – StriplingWarrior
D' oh. 고마워, 스트라이핑 워리어. – DJClayworth