Trung BìnhJava iconJava

Liskov Substitution Principle (LSP) là gì?

LSP phát biểu rằng subtype phải có thể thay thế cho parent type mà không làm hỏng behavior của chương trình. Class con nên mở rộng chức năng của class cha, không được hạn chế nó.

Ví dụ xấu: Bird có method fly(), Penguin extends Bird nhưng penguin không bay được — vi phạm LSP. Giải pháp: thiết kế hierarchy sao cho class con không yếu hóa contract của class cha. Vi phạm LSP gây lỗi runtime không mong muốn khi dùng polymorphism.

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

Mở danh sách Java