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

expert

Bạn đã định nghĩa một hàm hủy trong một lớp mà bạn đã phát triển bằng cách sử dụng C#, nhưng hàm hủy đó không bao giờ được thực thi. Tại sao?

middle

Trong lập trình OOP, có phải lúc nào cũng cần tạo các đối tượng từ lớp không?

middle

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ì?

Bình luận

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

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