ComenzarEmpieza gratis

Cuadrado y rectángulo

El ejemplo clásico de un problema que viola el Principio de Sustitución de Liskov es el problema Círculo-Elipse, a veces llamado problema del Cuadrado-Rectángulo.

A todas luces, parece que deberías poder definir una clase Rectangle, con atributos h y w (para la altura y la anchura), y luego definir una clase Square que herede de la Rectangle. Al fin y al cabo, ¡un cuadrado "es" un rectángulo!

Por desgracia, esta intuición no se aplica al diseño orientado a objetos.

Este ejercicio forma parte del curso

Programación orientada a objetos en Python

Ver curso

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Define a Rectangle class
____

# Define a Square class
____
Editar y ejecutar código