Zpo-10-wyk-Slajd10

Z Studia Informatyczne
Wersja z dnia 17:51, 4 lis 2006 autorstwa Bwalter (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Przykład(1)

Przykład(1)


Przekształcenie polega na zaimplementowaniu dwóch metod: equals () oraz hashCode (). Metoda equals () przyjmuje jako argument obiekt klasy Object i traktuje go jak inny obiekt własnej klasy (w tym przypadku będzie to DziałKatalogu). Porównanie własnego obiektu z obiektem przekazanym jako argument może być zrealizowane np. poprzez porównanie prefiksów opisujących działu książek, które są jedynym polem w tej klasie. Metoda hashCode () jest zaimplementowana podobnie – poprzez delegację do identycznej metody w obiekcie prefiksu.

Ostatnim krokiem jest zmiana kwalifikatora dostępu do konstruktora na public.

Warto pamiętać, że otrzymany obiekt-wartość nie może być już porównywany za pomocą operatora porównania, dlatego wyrażenia dotyczące porównania powinny również zostać dostosowane do tej zasady. Przedstawione dwa przypadki testowe pokazują ideę tego przekształcenia: porównanie za pomocą metody equals () nadal jest poprawne, natomiast za pomocą operatora == już nie.


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