Devloger

SOLID - LSP - Reguła Podstawienia Liskov

Kategorie: OOP Zasady SOLID · 0 komentarzy

SOLID - LSP - Reguła Podstawienia Liskov

Zasada LSP

Nadszedł czas na omówienie reguły podstawienia Liskov (od nazwiska twórcy (Barbara Liskov).

Trzecia już z kolei zasada SOLID Emotikon uśmiechniętej buźki.

Reguła która odnosi się do zgodności w dziedziczeniu. Chroni nas przed wieloma błędami Emotikon uśmiechniętej buźki.

LSP (Liskov Substitution Principle) - Reguła, która mówi, że w każdym miejscu w którym wymagana jest dana klasa, możemy osadzić jej subklasę z pełną kompatybilnością.

Ale jak to, przecież zawsze w takiej sytuacji możemy tam wrzucić dowolną subklasę. To prawda, ale jednak zasada wymaga pełnej zgodności w użyciu tych klas Emotikon uśmiechniętej buźki.

Do rzeczy

Za każdym razem gdy przygotowujesz subklasę - ta subklasa powinna być wymienna w każdym miejscu w którym nadklasa jest wymagana,

Jakakolwiek implementacja abstrakcji czy interfejsu powinna być wymienna tam gdzie abstrakcja jest wymagana.

Bezbłędnie wymienna.

I po takiej wymianie - wszystko powinno nadal działać idealnie.

Konsekwencje

Nie możemy dopuścić do sytuacji w której potencjalny wynik wymiany na subklasę będzie inny (potencjalnie inny output (np. wyjątek czy błąd)).

Zwracane dane również nie mogą różnić się w typie - np. tablica a kolekcja. W przeciwnym wypadku używanie tych implementacji nie będzie działać identycznie. Raz mamy tablicę a innym razem mamy kolekcję... Jest to pogwałcenie reguły LSP. Na szczęście od pewnego czasu mamy możliwość wymuszenia typu jaki ma być zwrócony Emotikon uśmiechniętej buźki.

Po co?

Zasada ta chroni nas przed sytuacją, w której jakaś podklasa zachowuje się inaczej niż nadklasa, abstrakcja czy interfejs.

Jak i również chroni nas przed potencjalnymi błędami, nadmiarowymi warunkami (choćby sprawdzanie czy dostaliśmy tablicę czy kolekcję), trudnościami z późniejszym utrzymaniem i rozwijaniem kodu.

Podsumowując

Regułę tę można streścić w czterech punktach, których należy się trzymać Emotikon uśmiechniętej buźki.

A oto i one:

  • Sygnatury muszą się zgadzać,
  • Warunki początkowe nie mogą być większe,
  • Warunki końcowe muszą być przynajmniej równe,
  • Typy wyjątków muszą się zgadzać.

To tyle w tym temacie

LSP Emotikon uśmiechniętej buźki. Kolejna niezmiernie ważna reguła Emotikon uśmiechniętej buźki! Trzymajcie się jej Emotikon uśmiechniętej buźki!

Zapraszam do komentowania oraz lektury innych moich artykułów Emotikon uśmiechniętej buźki.

Dobrego dnia.

Krystian Bogucki

Podobał Ci się ten artykuł?

Jeśli tak, to zarejestruj się aby otrzymywać powiadomienia o nowych artykułach. Nie ujawnię nikomu Twojego adresu!