Cuadrado y rectángulo
El ejemplo clásico de un problema que viola el Principio de Sustitución de Liskov es el problema del Círculo-Elipse, a veces llamado el problema del Cuadrado-Rectángulo.
A primera vista, parece que podrías definir una clase Rectangle, con atributos h y w (alto y ancho), y luego definir una clase Square que herede de Rectangle. Al fin y al cabo, ¡un cuadrado “es un” rectángulo!
Por desgracia, esta intuición no se mantiene en el diseño orientado a objetos.
Este ejercicio forma parte del curso
Programación orientada a objetos en Python
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Define a Rectangle class
____
# Define a Square class
____