Metoda wytwórcza jest jak produkcja hamburgerów w restauracji z dużym żółtym M w logo

Metoda wytwórcza jest jak produkcja hamburgerów w restauracji z dużym żółtym M w logo

Wystarczy tylko nadpisać procedurę tworzenia produktu, żeby taką restaurację rozbudować do postaci restauracji serwującej np. pączki.

Jeśli w klasie, w której bebechach wytwarzany jest jakiś produkt, obudujesz konstruktor

product = new Product()

metodą wytwarzającą ten produkt, np.

product = getProduct()

to będziesz mógł w prosty sposób rozbudować tą klasę, by otrzymać inną analogiczną.

Wystarczy, że nadpiszesz jedynie metodę getProduct().


Metoda getProduct w jednej klasie może zwracać obiekt typu Hamburger, a w innej nadpisanej: obiekt typu Pączek.

Dodatkowo jeśli klasy Hamburger i Pączek dziedziczą ze wspólnej klasy bazowej, to mogą mieć wspólne właściwości i metody (usmaż(), zapakujWKarton()), których można użyć w bebechach klasy Restauracja.

Smacznego!

 

 

Dodaj komentarz