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
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# Define a Rectangle class
____
# Define a Square class
____