Zpo-7-wyk-Slajd30

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Visitor: struktura

Visitor: struktura


Obiekty wchodzące w skład struktury, które obiekt Visitor ma odwiedzić, implementują interfejs Element. Interfejs ten definiuje tylko jedną metodę – accept (), przyjmującą jako jedyny parametr obiekt typu Visitor. Co więcej, metoda ta w każdym przypadku ma identyczną postać: w obiekcie Visitor wywoływana jest metoda visit () z parametrem this , oznaczająca referencję do własnego obiektu. W ten sposób następuje tzw. odwrócenie sterowania: zamieniają się nadawca i odbiorca komunikatu

Z drugiej strony we wzorcu uczestniczą obiekty implementujące interfejs Visitor, który definiuje grupę metod visit (), przyjmujących jako parametr obiekty typów, które należy odwiedzić. Każda z tych metod jest zatem przygotowana do odwiedzenia obiektu jednego typu w sposób całkowicie zależny od niego i do niego dostosowany.

Jednak konieczne jest automatyczne określenie, która z metod visit () zostanie wykonana. Do tego służy właśnie owo odwrócenie sterowania: przekazywany parametr this jest zawsze typu klasy, w której się znajduje, dzięki czemu metoda zostanie dopasowana automatycznie do typu parametru.


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