Câu hỏi phỏng vấn C#
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...
middle

middle

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

middle

LINQ trong C# là gì?

middle

Làm thế nào để một lớp không bị ghi đè trong C#?

senior

Operator overloading có được hỗ trợ trong C# không?

Bình luận

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

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