1. Learn
  2. /
  3. Courses
  4. /
  5. Object-Oriented Programming in Python

Connected

Exercise

Čtverec a obdélník

Klasickým příkladem porušení Liskovové principu substituce je problém kružnice a elipsy, někdy nazývaný také problém čtverce a obdélníku.

Na první pohled se zdá, že by bylo logické definovat třídu Rectangle s atributy h a w (výška a šířka) a pak od ní odvodit třídu Square. Vždyť čtverec „je" obdélník!

V objektově orientovaném návrhu ale tato intuice bohužel nefunguje.

Instructions 1/4

undefined XP
    1
    2
    3
    4
  • Vytvoř třídu Rectangle, jejíž konstruktor přijímá dva parametry, h a w, a nastaví atributy h a w na příslušné hodnoty.
  • Vytvoř třídu Square zděděnou z Rectangle, jejíž konstruktor přijímá jeden parametr w a nastaví oba atributy h i w na hodnotu w.