Trong lớp trừu tượng của tôi, tôi có thể nghe một phương thức trừu tượng và kích hoạt một sự kiện bất cứ khi nào phương thức đó được gọi? Nếu có thì sao?Làm thế nào để nghe một phương pháp trừu tượng?
5
A
Trả lời
2
Không thực sự là một phương pháp trừu tượng luôn được ghi đè và không đảm bảo rằng cuộc gọi ghi đè base.Method()
để thực hiện nó.
Tốt nhất là để tạo ra một phương pháp ảo mà làm tăng sự kiện và sau đó làm cho tất cả ghi đè bạn gọi base.Method()
Nếu bạn muốn chặn cuộc gọi phương pháp, here là một câu hỏi về làm thế nào để làm điều đó.
3
3
Cách tốt nhất để làm điều này là như sau:
public abstract class MyClass {
public void DoOuter() {
FireEvent();
DoInner();
}
protected abstract void DoInner();
}
Khi ai đó muốn gọi doInner họ phải gọi DoOuter()
để thực hiện nó. Để chỉ định chức năng bạn ghi đè DoInner()
. Vì vậy, FireEvent()
luôn được gọi trước khi chức năng DoInner()
được chỉ định ... trừ khi nó được gọi trực tiếp bởi một lớp con, mà bạn không thể thực sự bảo vệ chống lại.
Các vấn đề liên quan
- 1. Phương pháp trừu tượng ghi đè phương pháp trừu tượng
- 2. phương pháp chung trong lớp trừu tượng
- 3. C# Vứt bỏ trừu tượng phương pháp
- 4. C# Phương pháp chung trừu tượng
- 5. “Không thể khởi tạo lớp trừu tượng ... với các phương pháp trừu tượng” trên lớp học mà không cần phải có bất kỳ phương pháp trừu tượng
- 6. quá tải kế thừa phương pháp trừu tượng
- 7. Làm thế nào tôi có thể xác định xem một phương pháp trừu tượng có được triển khai không?
- 8. phương pháp trừu tượng với kiểu trả mạnh mẽ gõ
- 9. Phương pháp trừu tượng có phải là ảo không?
- 10. Phương pháp tĩnh trong giao diện/lớp trừu tượng
- 11. Phương pháp phải được ghi đè nhưng không trừu tượng?
- 12. khác biệt giữa các phương pháp ảo và trừu tượng
- 13. Phải triển khai phương pháp trừu tượng được thừa kế
- 14. Phương pháp trừu tượng PHP so với phương pháp mặc định
- 15. Làm thế nào để sử dụng một phương pháp đối tượng như một hàm callback
- 16. Làm thế nào để gọi một Phương pháp Mục tiêu-C từ Phương pháp C?
- 17. Làm thế nào để ép buộc các lớp trừu tượng của trẻ thực hiện một phương thức tĩnh?
- 18. Làm thế nào để thực hiện một lớp trừu tượng trong F #?
- 19. Làm thế nào để một lớp trừu tượng "DocumentBuilderFactory" được phép tạo nhanh cá thể mới
- 20. Python phương pháp tĩnh - làm thế nào để gọi một phương thức từ phương pháp khác
- 21. Làm thế nào để bắt buộc lớp con gọi một phương thức trừu tượng được thực hiện
- 22. Làm thế nào để buộc thực hiện một phương thức trong phân lớp mà không sử dụng trừu tượng?
- 23. một phương pháp trừu tượng là những gì trên một giao diện trong java
- 24. Làm thế nào để gọi một phương pháp không const từ một phương pháp const?
- 25. làm thế nào để thử một phương pháp trong một đối tượng khi thử nghiệm một phương pháp trong cùng một đối tượng
- 26. Làm thế nào để ngừng nghe NSEvents?
- 27. So sánh: phương pháp giao diện so với phương pháp ảo so với phương pháp trừu tượng
- 28. Làm thế nào để nghe EditText?
- 29. Cây cú pháp trừu tượng là gì?
- 30. Làm thế nào để tôi làm cho một tác phẩm lớp trừu tượng với JAXB
Đây thực sự là câu hỏi C#, vì vậy tôi đang chỉnh sửa câu trả lời một chút, nhưng ý tưởng chính là chính xác. – StriplingWarrior
D'oh. Cảm ơn, StriplingWarrior. – DJClayworth