Zpo-11-wyk-Slajd9

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Replace Type Code with Subclasses

Replace Type Code with Subclasses


Drugie przekształcenie związane z polem reprezentującym stan obiektu dotyczy sytuacji, w którym zmiana stanu oznacza zmianę zachowania niektórych metod obiektu. W tym wypadku użycie pojedynczej klasy jest niewystarczające: konieczne jest pokrycie metod, tak aby ich zachowanie odpowiadało stanowi, w jakim znajduje się obiekt.

Przekształcenie polega na wydzieleniu każdej wartości pola reprezentującego stan obiektu do oddzielnej podklasy. W ten sposób powstaje możliwość pokrywania metod wymagających zmiany zachowania, a jednocześnie wykorzystane jest dziedziczenie jako mechanizm powtórnego użycia kodu.

Pierwszym krokiem przekształcenia jest hermetyzacja pola stanu, tak aby było dostępne we własnej klasie i jej podklasach. Następnie dla każdej dopuszczalnej wartości tego pola należy utworzyć nową podklasę, pokrywając w niej metodę zwracającą wartość pola stanu w nadklasie na reprezentowany przez tę podklasę stan. Po przeniesieniu wszystkich wartości pola ono samo może zostać usunięte z nadklasy, a metody dostępowe do niego (set i get ) – zadeklarowane jako abstrakcyjne.


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