Czy blender dziedziczy od miksera kuchennego?

Dziś podejdziemy do tematu programistycznego prezentując go na przykładzie „sprzętowym”.

Czym różni się kompozycja od dziedziczenia?

Zarówno dziedziczenie jak i kompozycja to popularne mechanizmy programowania obiektowego. Pozwalają na wykorzystanie istniejących klas bez naruszania ich pierwotnej implementacji. Ujmując problem bardzo ogólnie można powiedzieć, że pierwsze podejście opisywane jest przez słowo „jest”, a drugie przez słowo „zawiera”.

Jeżeli popatrzymy na mikser to jest on przykładem sprzętu kuchennego do rozcierania lub ubijania produktów spożywczych. W uproszczeniu przyjmijmy, że główne części urządzenia to silnik elektryczny, mieszadła i przełącznik, który uruchamia maszynę.

Prism Shortcode Error: field, url, data_src is missing

Mikser rozbudowany o końcówkę do blendowania to szczególny przykład tego urządzenia, które jest rozszerzone o dodatkowe funkcje. W tym przypadku mamy do czynienia z dziedziczeniem.

Dziedziczenie stosowane jest gdy między klasami występuje relacja ogół <-> specjalizacja, nowa klasa jest szczególnym rodzajem istniejącej już klasy. W naszym przypadku klasa mikser kuchenny z blenderem jest szczególnym przypadkiem klasy mikser kuchenny oraz zawiera w sobie klasę silnik i przełącznik.

Prism Shortcode Error: field, url, data_src is missing


mikser4

Kompozycja odnosi się do relacji typu całość <-> część, obiekty nowej klasy zawierają w sobie instancje już istniejących klas. Zatem klasa Silnik, Przełącznik czy Mieszadła są wykorzystane do budowy nowej klasy MikserKuchenny.

Prism Shortcode Error: field, url, data_src is missing

Przykład powyżej prezentuje jak za pomocą konstruktora przekazujemy składowe wymagane do budowy obiektu klasy MikserKuchenny. To specjalnie utworzone instancje klas reprezentujących elementy omawianego sprzętu AGD. Składnikami mogą być nie tylko obiekty, ale również kolekcje (tak jak w przypadku mieszadeł).

mikser

Jako model wystąpił mój nowy mikser kuchenny, który już niedługo wykorzystam do kolejnego przepisu.
Poprzedni niestety wyzionął ducha…