CommencerCommencer gratuitement

Carré et rectangle

Un exemple classique d’un problème qui viole le principe de substitution de Liskov est le problème du cercle-ellipse, parfois appelé problème du carré-rectangle.

A priori, on pourrait penser qu’il suffit de définir une classe Rectangle, avec des attributs h et w (pour la hauteur et la largeur), puis de 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 telle quelle à la conception orientée objet.

Cet exercice fait partie du cours

Programmation orientée objet en Python

Afficher le cours

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Define a Rectangle class
____

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