Zpo-11-wyk-Slajd20: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Przykład(4)== | ||
[[Image:zpo-11-wyk-Slajd20.PNG| | [[Image:zpo-11-wyk-Slajd20.PNG|Przykład(4)]] | ||
Klasa TypKarty przechowuje stałe reprezentujące poszczególne stany obiektu, jak również definiuje metodę fabrykę tworzącą obiekty jednej z jej podklas w zależności od przekazanego parametru. Zasada działania tego mechanizmu jest identyczna jak w przypadku poprzedniego przekształcenia, które reprezentowało stany jako podklasy. | |||
W wyniku przekształcenia pole typu prymitywnego, przechowywane w klasie źródłowej, zostało przetransformowane do postaci oddzielnej klasy i jej podklas. Mechanizm ten pozwala swobodnie modyfikować wartość pola stanu w trakcie wykonywania programu (należy w tym celu utworzyć instancję innej z podklas), i rozróżniać stany na podstawie klasy. Jednak rozwiązanie to nie wykorzystuje do końca możliwości oferowanych przez polimorfizm, dlatego przekształcenie to można kontynuować. | |||
[[zpo-11-wyk-Slajd19 | << Poprzedni slajd]] | [[zpo-11-wyk-toc|Spis treści ]] | [[zpo-11-wyk-Slajd21 | Następny slajd >>]] | [[zpo-11-wyk-Slajd19 | << Poprzedni slajd]] | [[zpo-11-wyk-toc|Spis treści ]] | [[zpo-11-wyk-Slajd21 | Następny slajd >>]] |
Aktualna wersja na dzień 17:36, 4 lis 2006
Przykład(4)
Klasa TypKarty przechowuje stałe reprezentujące poszczególne stany obiektu, jak również definiuje metodę fabrykę tworzącą obiekty jednej z jej podklas w zależności od przekazanego parametru. Zasada działania tego mechanizmu jest identyczna jak w przypadku poprzedniego przekształcenia, które reprezentowało stany jako podklasy.
W wyniku przekształcenia pole typu prymitywnego, przechowywane w klasie źródłowej, zostało przetransformowane do postaci oddzielnej klasy i jej podklas. Mechanizm ten pozwala swobodnie modyfikować wartość pola stanu w trakcie wykonywania programu (należy w tym celu utworzyć instancję innej z podklas), i rozróżniać stany na podstawie klasy. Jednak rozwiązanie to nie wykorzystuje do końca możliwości oferowanych przez polimorfizm, dlatego przekształcenie to można kontynuować.