Whithin tiểu học của tôi, tôi nên tham khảo một phương pháp không được bảo vệ được thừa kế là this.Method()
hoặc base.Method()
?này. so với base. cho các phương pháp không được bảo vệ được thừa kế?
Sử dụng this
sẽ cho phép tôi dễ dàng ẩn phương thức bằng một phương thức mới có cùng tên. Có nên gọi cho phương thức chỉ định rõ ràng base
chỉ khi chắc chắn rằng chỉ cần triển khai thực hiện lớp cơ sở cụ thể?
bạn nên luôn gọi hàm này. Phương thức() khi gọi và thực hiện cơ sở :: Phương thức() gọi từ bên trong các phương thức ghi đè được triển khai trong lớp dẫn xuất. Bằng cách đó trong tương lai khi bạn ghi đè lên một cái gì đó bạn không phải đi xung quanh làm một base.Method(); –
Nó không phải là một phương pháp ảo và không thể bị ghi đè. Các phương thức không phải ảo chỉ có thể được ẩn. – Monstieur
Tại sao không chỉ đề cập đến nó như là 'Phương thức()'? Nếu 'this' ẩn nó bằng' Method() 'của nó thì nó sẽ được gọi. Nếu không, 'base.Method()' sẽ được gọi. Điều này đã được chọn là hành vi mặc định; có lẽ vì lý do tốt.^_^ – Corak