Lấy cảm hứng từ này trả lời:
Nguyên tắc thay thế Liskov yêu cầu rằng
- Điều kiện tiên quyết không thể được tăng cường trong một kiểu con.
- Postconditions không thể được làm yếu trong một kiểu con.
- Bất biến của siêu kiểu phải được bảo toàn trong một kiểu con.
- Ràng buộc lịch sử ("quy tắc lịch sử"). Các đối tượng được coi là có thể sửa đổi chỉ thông qua các phương thức của chúng (đóng gói). Vì các kiểu con có thể giới thiệu các phương thức không có trong siêu kiểu, nên việc giới thiệu các phương thức này có thể cho phép thay đổi trạng thái trong kiểu con không được phép trong siêu kiểu. Các ràng buộc lịch sử cấm điều này.
Tôi đã hy vọng nếu ai đó đăng một hệ thống phân cấp lớp vi phạm 4 điểm này và làm thế nào để giải quyết chúng cho phù hợp.
Tôi đang tìm kiếm một lời giải thích công phu cho các mục đích giáo dục về cách xác định từng điểm trong 4 điểm trong hệ thống phân cấp và cách tốt nhất để khắc phục nó.
Lưu ý:
Tôi đã hy vọng đăng một mẫu mã để mọi người làm việc, nhưng bản thân câu hỏi là về cách xác định hệ thống phân cấp bị lỗi :)