Zpo-9-wyk-Slajd22: 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: | ||
== | ==Przykład== | ||
[[Image:zpo-9-wyk-Slajd22.PNG| | [[Image:zpo-9-wyk-Slajd22.PNG|Przykład]] | ||
Przykładem błędnego przeprowadzenia takiej zmiany jest następujący fragment kodu. Dotyczy on obiektu StringTokenizer, dzielącego napisy na wyrazy i zwracającego je w postaci pojedynczych tokenów. | |||
Zamiast zapamiętywania wartości metody ''st'' ''.'' ''next'' ''()'' po przekształceniu metoda ta jest wywoływana w każdym miejscu, w którym dotychczas następowało odwołanie do zmiennej. Jednak takie przekształcenie wprowadza błąd do programu, ponieważ metoda ''st'' ''.'' ''next'' ''(),'' która zmienia stan obiektu StringTokenizer, zostanie obecnie wywołana wielokrotnie, co wpłynie na zwracane przez nią wartości. Dlatego w przypadku tego przekształcenia należy zwrócić szczególną uwagę na problem efektów ubocznych. | |||
[[zpo-9-wyk-Slajd21 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd23 | Następny slajd >>]] | [[zpo-9-wyk-Slajd21 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd23 | Następny slajd >>]] |
Aktualna wersja na dzień 18:05, 4 lis 2006
Przykład
Przykładem błędnego przeprowadzenia takiej zmiany jest następujący fragment kodu. Dotyczy on obiektu StringTokenizer, dzielącego napisy na wyrazy i zwracającego je w postaci pojedynczych tokenów.
Zamiast zapamiętywania wartości metody st . next () po przekształceniu metoda ta jest wywoływana w każdym miejscu, w którym dotychczas następowało odwołanie do zmiennej. Jednak takie przekształcenie wprowadza błąd do programu, ponieważ metoda st . next (), która zmienia stan obiektu StringTokenizer, zostanie obecnie wywołana wielokrotnie, co wpłynie na zwracane przez nią wartości. Dlatego w przypadku tego przekształcenia należy zwrócić szczególną uwagę na problem efektów ubocznych.