CommencezCommencez gratuitement

Carré et rectangle

Le cas classique d'un problème qui contrevient au principe de substitution de Liskov est le problème du cercle et de l'ellipse, parfois appelé le problème du carré et du rectangle.

À première vue, on pourrait définir une classe Rectangle avec des attributs h et w (pour la hauteur et la largeur), puis définir une classe Square qui hérite de Rectangle. Après tout, un carré « est un » rectangle !

Malheureusement, cette intuition ne s'applique pas à la conception orientée objet.

Cette activité fait partie du cours

Programmation orientée objet en Python

Voir le cours

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Define a Rectangle class
____

# Define a Square class
____
Modifier et exécuter le code