Zpo-9-wyk-Slajd36: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Self-Encapsulate Field== | ||
[[Image:zpo-9-wyk-Slajd36.PNG| | [[Image:zpo-9-wyk-Slajd36.PNG|Self-Encapsulate Field]] | ||
Fowler wyróżnił dwa przekształcenia dotyczące hermetyzacji pól, w zależności od celu ich stosowania. W pierwszym przypadku jest on związany z koniecznością zmiany sposobu odczytywania wartości pola w podklasach. Ponieważ pola nie są polimorficzne, dlatego konieczne jest hermetyzowanie ich poprzez metody get/set. | |||
Mechanika jest intuicyjnie prosta: należy utworzyć parę metod get/set i zadeklarować w nich niepubliczny poziom widoczności (ponieważ użytkownikami tych metod mają być podklasy, a nie klasy dostępne w inny sposób). Następnie odwołania do pola występujące w podklasach należy zastąpić wywołaniami metod get/set i zadeklarować pole jako prywatne. | |||
[[zpo-9-wyk-Slajd35 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd37 | Następny slajd >>]] | [[zpo-9-wyk-Slajd35 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd37 | Następny slajd >>]] |
Aktualna wersja na dzień 18:05, 4 lis 2006
Self-Encapsulate Field
Fowler wyróżnił dwa przekształcenia dotyczące hermetyzacji pól, w zależności od celu ich stosowania. W pierwszym przypadku jest on związany z koniecznością zmiany sposobu odczytywania wartości pola w podklasach. Ponieważ pola nie są polimorficzne, dlatego konieczne jest hermetyzowanie ich poprzez metody get/set.
Mechanika jest intuicyjnie prosta: należy utworzyć parę metod get/set i zadeklarować w nich niepubliczny poziom widoczności (ponieważ użytkownikami tych metod mają być podklasy, a nie klasy dostępne w inny sposób). Następnie odwołania do pola występujące w podklasach należy zastąpić wywołaniami metod get/set i zadeklarować pole jako prywatne.