Trong VB.NET có từ khóa 'bóng tối'. Giả sử tôi có một lớp cơ sở được gọi là 'Jedi' và một lớp dẫn xuất được gọi là 'Yoda' kế thừa từ 'Jedi'. Nếu tôi khai báo một phương thức trong 'Jedi' được gọi là 'ForcePush' và bóng đổ trong 'Yoda' thì khi gọi phương thức trên một thể hiện của lớp 'Yoda', nó sẽ bỏ qua việc triển khai lớp cơ sở và sử dụng lớp thực thi . Tuy nhiên, nếu tôi có một phiên bản 'Yoda' được khai báo ban đầu là kiểu 'Jedi', tức là Dim j as Jedi = new Yoda()
và được gọi là phương pháp 'ForcePush' trên cá thể, nó sẽ sử dụng triển khai Jedi.Sự kiện bóng mờ trong .NET
Bây giờ chúng ta hãy nói rằng tôi có một sự kiện được gọi là 'UsingForce' được gọi khi phương thức 'ForcePush' được gọi, và tôi che giấu sự kiện trong lớp dẫn xuất (điều này là vì 'Yoda' có giao diện ' IForcePowers 'tuyên bố sự kiện này) và mỗi lớp làm tăng sự kiện tương ứng của nó.
Nếu tôi có phiên bản 'Yoda' được khai báo là loại 'Jedi' (như trên) và tôi đặt trình xử lý sự kiện vào sự kiện 'Sử dụng' của 'Jedi', sau đó phương pháp 'ForcePush' là được gọi trong lớp 'Yoda', liệu người xử lý sự kiện này có đạt được không?
Đây là một câu hỏi hay. Tôi sẽ sử dụng ví dụ Jedi/Yoda vào lần sau tôi phải giải thích sự thừa kế. – David
David: Tôi đồng ý, nó thật tuyệt vời, thật tuyệt vời đến nỗi nó làm tôi xao lãng từ câu hỏi thực tế và cuối cùng tôi chỉ nghĩ về cuộc chiến giữa các vì sao trong một thời gian. –
Xin lỗi các bạn, tôi sẽ cố gắng và đặt câu hỏi của tôi một chút ít tuyệt vời hơn trong lần tiếp theo! :) – link664