Zasada podstawienia Liskov

“Funkcje, które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów.”

Zasada podstawienia Liskov zakłada, że można zawsze użyć klasy pochodnej w miejscu klasy bazowej. Można to zrealizować, gdy podczas tworzenia klas dziedziczących zostanie zachowana zgodność wszystkich metod.  W praktyce należy zwrócić uwagę, na umożliwienie przełożenia relacji z realnego świata na hierarchię klas.

Zasada podstawienia Liskov_przed

Przykład przedstawia bardzo ogólną klasę bazową: ssaki. Na początku twórca założył, że klasę tę stworzą zwierzęta lądowe, np. tygrys czy niedźwiedź. Gdy dodamy kolejną klasę potomną dla ssaka żyjącego w wodzie, np. orki, zasada podstawienia zostanie naruszona.

Poprawne rozwiązanie tego przykładu:

zasada podstawenia_po
lsp

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *