สี่เหลี่ยมจัตุรัสและสี่เหลี่ยมผืนผ้า
ตัวอย่างคลาสสิกของปัญหาที่ละเมิด Liskov Substitution Principle คือ ปัญหา Circle-Ellipse ซึ่งบางครั้งเรียกว่าปัญหา Square-Rectangle
ดูเผินๆ แล้ว น่าจะกำหนดคลาส Rectangle ที่มี attribute h และ w (สำหรับความสูงและความกว้าง) แล้วสร้างคลาส Square ที่รับสืบทอดจาก Rectangle ได้อย่างสมเหตุสมผล เพราะสี่เหลี่ยมจัตุรัสก็ "เป็น" สี่เหลี่ยมผืนผ้า!
แต่น่าเสียดายที่ความเข้าใจนี้ใช้ไม่ได้ในการออกแบบเชิงวัตถุ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนโปรแกรมเชิงวัตถุใน Python
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define a Rectangle class
____
# Define a Square class
____