IniziaInizia gratis

Quadrato e rettangolo

Il classico esempio di problema che viola il Principio di sostituzione di Liskov è il problema Cerchio-Ellisse, a volte chiamato anche problema Quadrato-Rettangolo.

A prima vista, sembrerebbe naturale definire una classe Rectangle, con attributi h e w (altezza e larghezza), e poi definire una classe Square che eredita da Rectangle. Dopotutto, un quadrato "è un" rettangolo!

Purtroppo, questa intuizione non si applica al design orientato agli oggetti.

Questo esercizio fa parte del corso

Programmazione orientata agli oggetti in Python

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Define a Rectangle class
____

# Define a Square class
____
Modifica ed esegui il codice