Câu hỏi phỏng vấn OOP
Câu hỏi

Sự khác biệt giữa việc ghi đè phương thức (method overriding) và nạp chồng phương thức (method overloading) là gì?

Câu trả lời

Sự khác biệt giữa việc ghi đè phương thức (method overriding) và nạp chồng phương thức (method overloading) được thể hiện như sau:

  • Ghi đè phương thức (Overriding):

    • Được sử dụng khi một lớp con muốn cung cấp một triển khai cụ thể cho phương thức đã được định nghĩa trong lớp cha của nó.
    • Phương thức ghi đè phải có cùng tên, cùng danh sách tham số với phương thức được ghi đè trong lớp cha.
    • Kiểu trả về của phương thức ghi đè phải giống với phương thức trong lớp cha.
    • Ghi đè phương thức thể hiện tính đa hình tại runtime.
    • Phương thức ghi đè ở lớp con phải có quyền truy cập bằng hoặc lớn hơn phương thức được ghi đè ở lớp cha[1][2][3][5][6][7].
  • Nạp chồng phương thức (Overloading):

    • Cho phép định nghĩa nhiều phương thức cùng tên trong cùng một lớp nhưng khác nhau về số lượng hoặc kiểu dữ liệu của tham số.
    • Phương thức nạp chồng có thể có kiểu trả về giống hoặc khác nhau.
    • Nạp chồng phương thức thể hiện tính đa hình tại compile time.
    • Các phương thức nạp chồng có thể có access modifier giống hoặc khác nh...
middle

middle

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

junior

Các tính chất của lập trình hướng đối tượng là gì và hãy giải thích chúng?

expert

Bạn có thể cung cấp một giải thích đơn giản về phương thức so với hàm trong ngữ cảnh lập trình hướng đối tượng không?

middle

Làm thế nào bạn có thể ngăn chặn việc ghi đè một lớp trong C#?

Bình luận

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

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