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

Giao diện hay lớp trừu tượng: nên sử dụng cái nào?

Câu trả lời

Việc lựa chọn giữa giao diện (interface) và lớp trừu tượng (abstract class) phụ thuộc vào nhu cầu cụ thể của bạn trong việc thiết kế phần mềm. Dưới đây là một số hướng dẫn để quyết định:

  • Sử dụng giao diện khi bạn muốn định nghĩa một "hợp đồng" mà các lớp khác phải thực hiện, hoặc khi bạn cần đa kế thừa vì một lớp có thể thực hiện nhiều giao diện.
  • Sử dụng lớp trừu tượng khi các lớp con của bạn có chung một số hành vi cơ bản mà bạn muốn triển khai sẵn, hoặc khi bạn muốn mô tả một khái niệm cấp cao với một số phương thức cụ thể.

Giao diện thường được sử dụng khi bạn muốn đảm bảo rằng tất cả các lớp con phải thực hiện một tập hợp các phương thức mà không cần quan tâm đến việc triển khai. Lớp trừu tượng thích hợp khi bạn muốn cung cấp một số triển khai mặc định cho các phương thức hoặc khi bạn muốn chia sẻ mã giữa nhiều lớp con.

Nếu bạn cần một hướng dẫn cụ thể hơn, hãy cung cấp thông tin chi tiết về tình huống cụ thể mà bạn đang xem xét để sử dụng giao diện hoặc lớp trừu tượng.

Citations:
[1] https://www.javatpoint.com/difference-between-abstract-class-and-interface
[2] https://www.digitalocean.com/community/tutorials/difference-between-abstract-class-and-interface-in-java
[3] https://www.infoworld.com/article/2077421/when-to-use-abstract-classes-vs-interfaces-in-java.html
[4] https://www.geeksforgeeks.org/difference-between-abstract-class-and-interface-in-java/
[5] https://www.baeldung.com/java-interface-vs-abstract-class
[6] https:/...

middle

middle

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

senior

Sự khác biệt cụ thể giữa Interface và abstract class là gì?

middle

Có thể chạy ứng dụng Java mà không sử dụng OOP không?

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

Bình luận

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

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