Zpo-7-wyk-Slajd24: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 1: Linia 1:
==Przykład(2)==
==Template Method: konsekwencje==


[[Image:zpo-7-wyk-Slajd24.PNG|Przykład(2)]]
[[Image:zpo-7-wyk-Slajd24.PNG|Template Method: konsekwencje]]




Po usunięciu wszystkich powiązań można usunąć deklarację dziedziczenia w klasie KartaCzytelniczaUlgowa. Oczywiście, w tym momencie przypisanie wartości do pola ''karta'' stanie się nieważne, ponieważ zmienna ''this'' nie odnosi się już do klasy KartaCzytelnicza. Aby poprawnie zainicjować to pole, warto zdefiniować konstruktor, który przyjmuje jako parametr instancję klasy KartaCzytelnicza i przypisze ją do tego pola.  
Analizując konsekwencje zastosowania tego wzorca, warto zauważyć, że taka struktura odwołań jest odwrotna w stosunku do typowej sytuacji, w której podklasa odwołuje się do swojej nadklasy w celu wykorzystania jej funkcji. W tym przypadku to nadklasa odsuwa implementację pewnych kroków algorytmu do podklas.


Dokończenie przekształcenia polega na uzupełnieniu w dawnej podklasie brakujących metod, które dotychczas były dziedziczone z nadklasy. Obecnie mają one postać prostych delegacji.
Oczywiście, w celu wykorzystania takiego rozwiązania należy utworzyć obiekt podklasy i wykonać jego metodę-szkielet algorytmu, jednak można tę klasę traktować w sposób abstrakcyjny jako pewną implementację interfejsu nadklasy.


W wyniku przekształcenia relacja dziedziczenia łącząca KartęCzytelniczą i KartęCzytelnicząUlgową została zmieniona w relację delegacji.
Wzorzec Template Method jest powszechnie stosowany w implementacji różnego rodzaju sterowników i wtyczek.




[[zpo-7-wyk-Slajd23 | << Poprzedni slajd]] | [[zpo-7-wyk-toc|Spis treści ]] | [[zpo-7-wyk-Slajd25 | Następny slajd >>]]
[[zpo-7-wyk-Slajd23 | << Poprzedni slajd]] | [[zpo-7-wyk-toc|Spis treści ]] | [[zpo-7-wyk-Slajd25 | Następny slajd >>]]

Aktualna wersja na dzień 19:16, 4 lis 2006

Template Method: konsekwencje

Template Method: konsekwencje


Analizując konsekwencje zastosowania tego wzorca, warto zauważyć, że taka struktura odwołań jest odwrotna w stosunku do typowej sytuacji, w której podklasa odwołuje się do swojej nadklasy w celu wykorzystania jej funkcji. W tym przypadku to nadklasa odsuwa implementację pewnych kroków algorytmu do podklas.

Oczywiście, w celu wykorzystania takiego rozwiązania należy utworzyć obiekt podklasy i wykonać jego metodę-szkielet algorytmu, jednak można tę klasę traktować w sposób abstrakcyjny jako pewną implementację interfejsu nadklasy.

Wzorzec Template Method jest powszechnie stosowany w implementacji różnego rodzaju sterowników i wtyczek.


<< Poprzedni slajd | Spis treści | Następny slajd >>