Câu hỏi được gắn thẻ «liskov-substitution»

Đối với các câu hỏi về nguyên tắc thay thế Liskov trong thiết kế hướng đối tượng.




14
Có một ngôn ngữ hoặc mẫu thiết kế nào cho phép * loại bỏ * các hành vi hoặc thuộc tính của đối tượng trong hệ thống phân cấp lớp không?
Một thiếu sót nổi tiếng của hệ thống phân cấp lớp truyền thống là chúng rất tệ khi mô hình hóa thế giới thực. Ví dụ, cố gắng đại diện cho các loài động vật với các lớp. Thực tế có một số vấn đề khi làm điều đó, nhưng …


5
Các trường hợp đặc biệt với dự phòng có vi phạm Nguyên tắc thay thế Liskov không?
Giả sử tôi có một giao diện FooInterfacecó chữ ký sau: interface FooInterface { public function doSomething(SomethingInterface something); } Và một lớp cụ thể ConcreteFoothực hiện giao diện đó: class ConcreteFoo implements FooInterface { public function doSomething(SomethingInterface something) { } } Tôi muốn ConcreteFoo::doSomething()làm một cái gì đó độc đáo …

3
Làm thế nào để tăng cường các điều kiện tiên quyết và làm suy yếu các điều kiện hậu vi phạm nguyên tắc thay thế Liskov?
Tôi đọc rằng nguyên tắc thay thế của Liskov bị vi phạm nếu: Điều kiện tiên quyết được củng cố, hoặc Hậu điều bị suy yếu Nhưng tôi vẫn chưa hiểu đầy đủ về việc hai điểm này sẽ vi phạm nguyên tắc thay thế Liskov như thế nào. Ai …






1
Làm thế nào để xác minh nguyên tắc thay thế Liskov trong hệ thống phân cấp thừa kế?
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 …



Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.