Zpo-10-wyk-Slajd31: 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:
==Memento: przykład cd.==
==Przykład(1)==


[[Image:zpo-10-wyk-Slajd31.PNG|Memento: przykład cd.]]
[[Image:zpo-10-wyk-Slajd31.PNG|Przykład(1)]]




Wewnątrz klasy Account jest zdefiniowana klasa Memento, posiadająca pole mementoBalance, służące do przechowania wartości salda w danym momencie. Metody ''setState'' ''()'' oraz ''restoreState'' ''()'' są widoczne jedynie dla jej nadklasy, natomiast inne obiekty nie mają do nich dostępu. Rolę obiektu Caretaker może pełnić dowolna zmienna typu Account.Memento, która przechowuje instancję migawki. W ten sposób założenia dotyczące podwójnego interfejsu zostały spełnione.
W celu ukrycia klasy delegata (w tym przypadku klasy Książka) wprowadzono metodę ''autor'' ''(),'' będącą prostą delegacją do tej klasy, natomiast metodę ''książka'' ''(),'' która dotychczas udostępniała delegata – uczyniono prywatną. Dzięki temu przekształceniu informacja o istnieniu klasy Książka została hermetycznie ukryta w klasie Tom i w pewien sposób pominięta w wywołaniach mających na celu dotarcie do klasy Autor.
 
Oczywiście, można to przekształcenie kontynuować, usuwając także delegację do klasy Autor i tworząc w klasie Tom proste delegacje zwracające wyniki wykonania metod klasy Autor, jednak wprowadzałoby to zbyt wiele niejasnych delegacji.




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

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

Przykład(1)

Przykład(1)


W celu ukrycia klasy delegata (w tym przypadku klasy Książka) wprowadzono metodę autor (), będącą prostą delegacją do tej klasy, natomiast metodę książka (), która dotychczas udostępniała delegata – uczyniono prywatną. Dzięki temu przekształceniu informacja o istnieniu klasy Książka została hermetycznie ukryta w klasie Tom i w pewien sposób pominięta w wywołaniach mających na celu dotarcie do klasy Autor.

Oczywiście, można to przekształcenie kontynuować, usuwając także delegację do klasy Autor i tworząc w klasie Tom proste delegacje zwracające wyniki wykonania metod klasy Autor, jednak wprowadzałoby to zbyt wiele niejasnych delegacji.


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