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

Các biến kiểu dynamic trong C# là gì?

senior

Bạn hãy giải thích sự khác biệt giữa interface, abstract class, sealed class, static classpartial class trong C#?

middle

Từ khóa volatile trong C# được sử dụng để làm gì?

Bình luận

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

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