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

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?

Câu trả lời

Trong lập trình hướng đối tượng (OOP), một lớp trừu tượng (abstract class) và một interface đều là cách để định nghĩa các hợp đồng cho các lớp khác để thực hiện, nhưng chúng có một số khác biệt quan trọng:

Lớp Trừu Tượng (Abstract Class)

  • Mục đích: Lớp trừu tượng thường được sử dụng khi bạn muốn cung cấp một lớp cơ sở chung với một số phương thức đã được triển khai (có thể chứa cả mã và logic) và một số phương thức trừu tượng (chỉ có khai báo, không có triển khai).
  • Thừa kế: Một lớp chỉ có thể kế thừa từ một lớp trừu tượng duy nhất do hạn chế đơn kế thừa trong nhiều ngôn ngữ OOP như Java và C#.
  • Biến thành viên: Lớp trừu tượng có thể chứa các biến thành viên với các trạng thái khác nhau (mutable state).
  • Truy cập: Có thể có các phương thức với các mức độ truy cập khác nhau (public, protected, private).

Interface

  • Mục đích: Interface định nghĩa một "hợp đồng" mà không có bất kỳ triển khai cụ thể nào. Tất cả các phương thức đều là trừu tượng và phải được triển khai bởi các lớp con.
  • Thừa kế: Một lớp có thể thực hiện (implement) nhiều inte...
middle

middle

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

middle

Nêu các đặc điểm của Interface.

expert

Tại sao lại ưu tiên Sử dụng Composition hơn là Inheritance? Có những sự đánh đổi nào cho mỗi phương pháp? Khi nào bạn nên chọn Inheritance thay vì Composition?

middle

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

Bình luận

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

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