ComeçarComece gratuitamente

Quadrado e retângulo

O exemplo clássico de um problema que viola o Princípio de Substituição de Liskov é o problema do Círculo-Elipse, às vezes chamado de problema do Quadrado-Retângulo.

De qualquer forma, parece que você deve ser capaz de definir uma classe Rectangle, com atributos h e w (para altura e largura) e, em seguida, definir uma classe Square que herda da Rectangle. Afinal de contas, um quadrado "é" um retângulo!

Infelizmente, essa intuição não se aplica ao design orientado a objetos.

Este exercício faz parte do curso

Programação orientada a objetos em Python

Ver Curso

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# Define a Rectangle class
____

# Define a Square class
____
Editar e executar código