Zpo-7-wyk-Slajd30: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Visitor: struktura== | ||
[[Image:zpo-7-wyk-Slajd30.PNG| | [[Image:zpo-7-wyk-Slajd30.PNG|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. | |||
[[zpo-7-wyk-Slajd29 | << Poprzedni slajd]] | [[zpo-7-wyk-toc|Spis treści ]] | [[zpo-7-wyk-Slajd31 | Następny slajd >>]] | [[zpo-7-wyk-Slajd29 | << Poprzedni slajd]] | [[zpo-7-wyk-toc|Spis treści ]] | [[zpo-7-wyk-Slajd31 | Następny slajd >>]] |
Aktualna wersja na dzień 19:16, 4 lis 2006
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.