Zpo-10-wyk-Slajd30: 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==
==Przykład==


[[Image:zpo-10-wyk-Slajd30.PNG|Memento: przykład]]
[[Image:zpo-10-wyk-Slajd30.PNG|Przykład]]




Jak przykład rozważmy klasę Account, której stanem jest zmienna ''balance'' reprezentująca saldo przechowywane na rachunku bankowym. Poza metodami biznesowymi ''credit'' ''()'' i ''debit'' ''()'' klasa ta posiada metodę ''setMemento'' ''(),'' służącą do odtworzenia stanu na podstawie migawki, oraz ''createMemento'' ''(),'' tworzącą nową migawkę.
Przekształcenie to prześledzimy na przykładzie klas Tom, Książka i Autor. Klasa Tom posiada referencję do klasy Książka i publiczną metodę ''książka'' ''(),'' która umożliwia dostęp do tej referencji. Podobną strukturę ma klasa Książka: zawiera referencję do klasy Autor i posiada metodę ''autor'' ''(),'' która zwraca tę referencję. Ostatnia w łańcuchu delegacji klasa Autor przechowuje nazwisko i datę urodzenia Autora Książki. Zatem aby z poziomu Tomu lub Książki otrzymać nazwisko Autora, należy stworzyć łańcuch wywołań: ''tom'' ''.'' ''ksiazka'' ''().'' ''autor'' ''().'' ''nazwisko'' . Łańcuch taki narusza zasady odwołań do obiektów sformułowane przez prawo Demeter (zob. wykład dotyczący metryk obiektowych), ponieważ wymaga od wywołującego cały łańcuch klienta znajomości całego systemu.
 
Diagram przedstawia relacje asocjacji oraz zależności występujące pomiędzy klasami.




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

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

Przykład

Przykład


Przekształcenie to prześledzimy na przykładzie klas Tom, Książka i Autor. Klasa Tom posiada referencję do klasy Książka i publiczną metodę książka (), która umożliwia dostęp do tej referencji. Podobną strukturę ma klasa Książka: zawiera referencję do klasy Autor i posiada metodę autor (), która zwraca tę referencję. Ostatnia w łańcuchu delegacji klasa Autor przechowuje nazwisko i datę urodzenia Autora Książki. Zatem aby z poziomu Tomu lub Książki otrzymać nazwisko Autora, należy stworzyć łańcuch wywołań: tom . ksiazka (). autor (). nazwisko . Łańcuch taki narusza zasady odwołań do obiektów sformułowane przez prawo Demeter (zob. wykład dotyczący metryk obiektowych), ponieważ wymaga od wywołującego cały łańcuch klienta znajomości całego systemu.

Diagram przedstawia relacje asocjacji oraz zależności występujące pomiędzy klasami.


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