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

expert

Nguyên tắc thay thế Liskov (LSP) là gì và một số ví dụ về việc sử dụng nó (tốt và xấu)?

middle

Sự khác biệt giữa phương thức ảo và phương thức trừu tượng là gì?

middle

Trong lập trình OOP, một lớp trừu tượng khác với một interface như thế nào?

Bình luận

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

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