Kom igångKom igång gratis

Kvadrat och rektangel

Det klassiska exemplet på ett problem som bryter mot Liskovs substitutionsprincip är Cirkel-Ellips-problemet, som ibland kallas Kvadrat-Rektangel-problemet.

Det verkar rimligt att definiera en klass Rectangle med attributen h och w (för höjd och bredd) och sedan definiera en klass Square som ärver från Rectangle. En kvadrat "är ju" en rektangel!

Tyvärr fungerar inte den intuitionen inom objektorienterad design.

Den här övningen är en del av kursen

Objektorienterad programmering i Python

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Define a Rectangle class
____

# Define a Square class
____
Redigera och kör kod