Zpo-10-wyk-Slajd36: 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:
==Prototype: przykład==
==Decompose Conditional==


[[Image:zpo-10-wyk-Slajd36.PNG|Prototype: przykład]]
[[Image:zpo-10-wyk-Slajd36.PNG|Decompose Conditional]]




W języku Java wzorzec ten jest zaimplementowany bezpośrednio w maszynie wirtualnej. Każdy obiekt posiada metodę ''clone'' ''(),'' a co za tym idzie – potencjalną możliwość klonowania siebie. Jednak aby skorzystać z tej możliwości, konieczne jest zaimplementowanie w wybranej klasie interfejsu ''Cloneable'' . Interfejs ten nie definiuje żadnych metod, a jedynie pełni rolę znacznika, wskazującego, że dana klasa posiada uprawnienie do klonowania samej siebie. Próba wywołania tej metody bez zaimplementowania interfejsu powoduje zgłoszenie wyjątku.
Jest to najprostsze z tej grupy przekształceń, zwiększające przede wszystkim czytelność wyrażenia warunkowego. Polega ono na wyłączeniu samego warunku, jak i poszczególnych akcji, do nowych metod. Podobnie mechanika przebiega w przypadku instrukcji wyboru (''switch'' ).
 
Domyślnie wywołanie metody ''clone'' ''()'' powoduje utworzenie tzw. płytkiej kopii obiektu, tzn. w obiekty zależne są kopiowane jako referencje, a nie jako obiekty. Płytka kopia jest bezpieczna, ponieważ nie powoduje rekurencyjnego alokowania znacznych obszarów pamięci. Jeżeli istnieje potrzeba realizacji tzw. głębokiej kopii, zadanie jej realizacji leży po stronie programisty.




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

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

Decompose Conditional

Decompose Conditional


Jest to najprostsze z tej grupy przekształceń, zwiększające przede wszystkim czytelność wyrażenia warunkowego. Polega ono na wyłączeniu samego warunku, jak i poszczególnych akcji, do nowych metod. Podobnie mechanika przebiega w przypadku instrukcji wyboru (switch ).


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