Zpo-9-wyk-Slajd13: 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:
==Singleton: struktura i uczestnicy==
==Przykład(1)==


[[Image:zpo-9-wyk-Slajd13.PNG|Singleton: struktura i uczestnicy]]
[[Image:zpo-9-wyk-Slajd13.PNG|Przykład(1)]]




Singleton składa się z jednej klasy, która zarządza swoją własną jedyną instancją. Instancja jest przechowywana w postaci prywatnego pola statycznego, natomiast zarządzaniem nią zajmuje się publiczna metoda statyczna o nazwie ''getInstance'' ''().'' Postępuje ona według następującego algorytmu: jeżeli pole statyczne przechowujące instancję klasy ma wartość ''null'' (czyli instancja dotąd nie została utworzona), wówczas instancja taka jest tworzona i zapamiętywana w tym polu. Dzięki temu, niezależnie od tego, który raz wywoływana jest metoda, zawsze zwraca ona utworzoną i jedyną instancję klasy.
Pierwszym krokiem jest dodanie do sygnatury metody nowego parametru typu Osoba, a następnie zmiana odwołań do pozostałych parametrów metody wywołaniami odpowiednich metod nowego parametru. Po zakończeniu zmiany wywołanie metody wymaga przekazania instancji klasy Osoba oraz nieznaczących pozostałych wartości parametrów (w tym przypadku wartości ''null'' ).
 
Aby uniemożliwić klientom samodzielne tworzenie instancji z pominięciem metody statycznej, klasa Singleton uniemożliwia dostęp do konstruktora z zewnątrz, zwykle czyniąc go prywatnym lub chronionym.




[[zpo-9-wyk-Slajd12 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd14 | Następny slajd >>]]
[[zpo-9-wyk-Slajd12 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd14 | Następny slajd >>]]

Aktualna wersja na dzień 18:04, 4 lis 2006

Przykład(1)

Przykład(1)


Pierwszym krokiem jest dodanie do sygnatury metody nowego parametru typu Osoba, a następnie zmiana odwołań do pozostałych parametrów metody wywołaniami odpowiednich metod nowego parametru. Po zakończeniu zmiany wywołanie metody wymaga przekazania instancji klasy Osoba oraz nieznaczących pozostałych wartości parametrów (w tym przypadku wartości null ).


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