Câu hỏi

Sự khác nhau giữa overridingshadowing trong C# là gì?

Câu trả lời

Trong C#, overridingshadowing là hai kỹ thuật được sử dụng để tùy chỉnh hoặc thay đổi hành vi của một phương thức hoặc thuộc tính trong lớp dẫn xuất so với lớp cơ sở của nó. Dù có mục đích tương tự nhưng chúng được sử dụng trong các trường hợp và cách thức khác nhau:

Overriding

  • Định nghĩa: Overriding là kỹ thuật cho phép một lớp dẫn xuất thay đổi triển khai (implementation) của một phương thức ảo (virtual) hoặc trừu tượng (abstract) được kế thừa từ lớp cơ sở.
  • Cách sử dụng: Để override một phương thức, bạn cần đánh dấu phương thức đó trong lớp cơ sở với từ khóa virtual hoặc abstract, và sử dụng từ khóa override khi triển khai lại phương thức đó trong lớp dẫn xuất.
  • Mục đích: Overriding được sử dụng khi bạn muốn thay đổi hoặc mở rộng hành vi của phương thức được kế thừa, đồng thời vẫn giữ được tính đa hình (polymorphism) trong thời gian chạy (runtime).

Shadowing (hoặc Hiding)

  • Định nghĩa: Shadowing là kỹ thuật cho phép một lớp dẫn xuất định nghĩa lại một phương thức hoặc thuộc tính có cùng tên với một phương thức hoặc thuộc tính trong lớp cơ sở, mà không can thiệp vào triển khai của lớp cơ sở.
  • Cách sử dụng: Để shadow một phương thức hoặc thuộc...
Bạn cần đăng nhập để xem
middle

middle

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

middle

Có sự khác biệt giữa throwthrow ex không?

senior

Khi nào bạn sẽ sử dụng các delegate trong C#?

middle

Phạm vi của biến thành viên Internal của một lớp 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