Câu hỏi

Sự khác biệt giữa virtual methodabstract method trong C# là gì?

Câu trả lời

Trong C#, virtual methodabstract method đều là các khái niệm liên quan đến tính đa hình và kế thừa, nhưng chúng có những đặc điểm và mục đích sử dụng khác nhau:

Virtual Method

  • Định nghĩa: Một virtual method là một phương thức được định nghĩa trong một lớp cơ sở và có thể được ghi đè (override) trong một lớp dẫn xuất. Phương thức ảo cho phép lớp dẫn xuất thay đổi hoặc mở rộng hành vi của phương thức được kế thừa từ lớp cơ sở.
  • Triển khai: Phương thức ảo phải cung cấp một triển khai mặc định. Nó có thể được ghi đè trong lớp dẫn xuất nhưng không bắt buộc phải làm vậy.
  • Từ khóa: Sử dụng từ khóa virtual trong lớp cơ sở và từ khóa override trong lớp dẫn xuất để ghi đè phương thức.
  • Sử dụng: Virtual method thích hợp khi bạn muốn lớp dẫn xuất có khả năng thay đổi hoặc mở rộng hành vi của phương thức, nhưng vẫn muốn cung cấp một triển khai mặc định.

Abstract Method

  • Định nghĩa: Một abstract method là một phương thức không có triển khai trong lớp cơ sở và bắt buộc phải được ghi đè trong tất cả lớp dẫn xuất không phải là abstract. Phương thức trừu tượng chỉ định một "hợp đồng" mà tất cả lớp dẫn xuất phải tuân theo.
  • Triển khai: Phương thức trừu tượng không cung cấp một triển khai mặc định. Lớ...
Bạn cần đăng nhập để xem
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Lớp sealed trong C# là gì?

middle

So sánh sự khác nhau giữa các lớp TraceDebug trong C# là gì?

junior

Enum trong C# là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào