Zpo-10-wyk-Slajd8: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Change Reference to Value== | ||
[[Image:zpo-10-wyk-Slajd8.PNG| | [[Image:zpo-10-wyk-Slajd8.PNG|Change Reference to Value]] | ||
Potrzeba wykonania odwrotnego przekształcenia dotyczy zwykle sytuacji, w której obiekt dostępny przez referencję traci stopniowo swoją funkcjonalność, jego zakres odpowiedzialności staje się coraz mniejszy, a proces tworzenia obiektu nie wymaga istotnych nakładów czasowych. Wówczas warto zmienić taki obiekt w obiekt-wartość. | |||
Mechanika przekształcenia składa się z następujących kroków: Najpierw należy sprawdzić, czy obiekt ten po przekszałceniu faktycznie może być niezmienny. Jeżeli ten warunek nie jest spełniony, wówczas przekształcenie nie może być poprawnie zakończone. Jeżeli jednak tak jest, wtedy należy przygotować obiekt do porównywania jego stanu z innymi obiektami, tzn. zaimplementować jego metody ''equals'' ''(),'' służącą do bezpośrednich porównań, oraz ''hashCode'' ''(),'' często wykorzystywaną w tym celu metodę pomocniczą. | |||
Po wykonaniu tych dwóch kroków obiekt w zasadzie może być traktowany jako obiekt-wartość. Opcjonalnie można zakończyć przekształcenie upubliczniając konstruktor, aby było możliwe bezpośrednie tworzenie instancji tej klasy, bez pośrednictwa metody-fabryki. | |||
[[zpo-10-wyk-Slajd7 | << Poprzedni slajd]] | [[zpo-10-wyk-toc|Spis treści ]] | [[zpo-10-wyk-Slajd9 | Następny slajd >>]] | [[zpo-10-wyk-Slajd7 | << Poprzedni slajd]] | [[zpo-10-wyk-toc|Spis treści ]] | [[zpo-10-wyk-Slajd9 | Następny slajd >>]] |
Aktualna wersja na dzień 17:54, 4 lis 2006
Change Reference to Value
Potrzeba wykonania odwrotnego przekształcenia dotyczy zwykle sytuacji, w której obiekt dostępny przez referencję traci stopniowo swoją funkcjonalność, jego zakres odpowiedzialności staje się coraz mniejszy, a proces tworzenia obiektu nie wymaga istotnych nakładów czasowych. Wówczas warto zmienić taki obiekt w obiekt-wartość.
Mechanika przekształcenia składa się z następujących kroków: Najpierw należy sprawdzić, czy obiekt ten po przekszałceniu faktycznie może być niezmienny. Jeżeli ten warunek nie jest spełniony, wówczas przekształcenie nie może być poprawnie zakończone. Jeżeli jednak tak jest, wtedy należy przygotować obiekt do porównywania jego stanu z innymi obiektami, tzn. zaimplementować jego metody equals (), służącą do bezpośrednich porównań, oraz hashCode (), często wykorzystywaną w tym celu metodę pomocniczą.
Po wykonaniu tych dwóch kroków obiekt w zasadzie może być traktowany jako obiekt-wartość. Opcjonalnie można zakończyć przekształcenie upubliczniając konstruktor, aby było możliwe bezpośrednie tworzenie instancji tej klasy, bez pośrednictwa metody-fabryki.