Zpo-10-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:
==Builder: konsekwencje==
==Przykład(2)==


[[Image:zpo-10-wyk-Slajd24.PNG|Builder: konsekwencje]]
[[Image:zpo-10-wyk-Slajd24.PNG|Przykład(2)]]




Wzorzec ten, dzięki przejrzystemu i jednoznacznemu podziałowi odpowiedzialności pomiędzy poszczególne obiekty, zapewnia, że zmiana sposobu implementacji obiektów Product nie wpływa na sam proces konstrukcji. Podobnie, zmiana procesu konstrukcji nie wymaga zmian w implementacji elementów. Istnieje możliwość tworzenia wielu różnych struktur obiektowych bez modyfikacji pozostałych obiektów uczestniczących we wzorcu.
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.  


Tak podział zwiększa też kontrolę nad procesem konstrukcji struktury, a także umożliwia łatwe testowanie poszczególnych elementów.
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.
 
W wyniku przekształcenia relacja dziedziczenia łącząca KartęCzytelniczą i KartęCzytelnicząUlgową została zmieniona w relację delegacji.




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

Aktualna wersja na dzień 17:52, 4 lis 2006

Przykład(2)

Przykład(2)


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.

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.

W wyniku przekształcenia relacja dziedziczenia łącząca KartęCzytelniczą i KartęCzytelnicząUlgową została zmieniona w relację delegacji.


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