Zpo-11-wyk-Slajd26: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Pull Up Method== | ||
[[Image:zpo-11-wyk-Slajd26.PNG| | [[Image:zpo-11-wyk-Slajd26.PNG|Pull Up Method]] | ||
Pierwszym z przekształceń jest przeniesienie w górę hierarchii dziedziczenia metody, która występuje w wielu podklasach posiadających wspólną nadklasę. Celem jest zatem przeniesienie metody do nadklasy, tak aby była ona dziedziczona, a nie definiowana w poszczególnych podklasach. | |||
Krokiem wstępnym tego przekształcenia jest ujednolicenie metod w poszczególnych podklasach. Następnie należy zadeklarować metodę w nadklasie i skopiować do niej ciało metody w jednej z podklas. Jeżeli wszystkie podklasy definiowały tę metodę, wówczas nadal nie powinna wystąpić zmiana zachowania programu. | |||
W kolejnych krokach metoda jest usuwana z podklas (wówczas jest ona dostępna wyłącznie poprzez dziedziczenie z nadklasy). | |||
W efekcie metoda jest usuwana z wszystkich podklas i przeniesiona do nadklasy. Jeżeli niektóre podklasy definiują metodę odmiennie od pozostałych, wówczas mogą pozostawić metodę pokrytą. | |||
[[zpo-11-wyk-Slajd25 | << Poprzedni slajd]] | [[zpo-11-wyk-toc|Spis treści ]] | [[zpo-11-wyk-Slajd27 | Następny slajd >>]] | [[zpo-11-wyk-Slajd25 | << Poprzedni slajd]] | [[zpo-11-wyk-toc|Spis treści ]] | [[zpo-11-wyk-Slajd27 | Następny slajd >>]] |
Aktualna wersja na dzień 17:36, 4 lis 2006
Pull Up Method
Pierwszym z przekształceń jest przeniesienie w górę hierarchii dziedziczenia metody, która występuje w wielu podklasach posiadających wspólną nadklasę. Celem jest zatem przeniesienie metody do nadklasy, tak aby była ona dziedziczona, a nie definiowana w poszczególnych podklasach.
Krokiem wstępnym tego przekształcenia jest ujednolicenie metod w poszczególnych podklasach. Następnie należy zadeklarować metodę w nadklasie i skopiować do niej ciało metody w jednej z podklas. Jeżeli wszystkie podklasy definiowały tę metodę, wówczas nadal nie powinna wystąpić zmiana zachowania programu.
W kolejnych krokach metoda jest usuwana z podklas (wówczas jest ona dostępna wyłącznie poprzez dziedziczenie z nadklasy).
W efekcie metoda jest usuwana z wszystkich podklas i przeniesiona do nadklasy. Jeżeli niektóre podklasy definiują metodę odmiennie od pozostałych, wówczas mogą pozostawić metodę pokrytą.