Trung BìnhJava iconJava

Composition và Inheritance — khi nào nên dùng cái nào?

Composition ("has-a") là bao gồm object như member thay vì extends class. Ưu tiên composition khi: quan hệ linh hoạt (không phải fundamental), cần nhiều behavior (tránh multi-inheritance), subclass chỉ override một phần của parent (vi phạm LSP).

Ví dụ: Car has-a Engine (composition) vs Car extends Vehicle (inheritance). Composition linh hoạt hơn; inheritance cho quan hệ "is-a" thực sự rõ ràng. Nguyên tắc: "favor composition over inheritance".

Xem toàn bộ Java cùng filter theo level & chủ đề con.

Mở danh sách Java