Przesłanianie metod i pól - Przesłanianie pól |
Instrukcje dodatkowe - Programowanie w języku JAVA |
Wpisany przez Administrator |
Strona 6 z 8
Przesłanianie pól Przesłanianie pól działa analogicznie jak przysłanianie metod. Również taka sama jest kolejność dostępu: pierwszeństwo ma metoda pole przysłaniające, jako to, które jest "na wierzchu" dla obiektów dziedziczących. Aby się o tym przekonać dodajmy przysłaniające pole wspX oraz wspY do klasy punkt3d: Zad. 6.: Zmodyfikuj powyższy program. Dodaj pola wspX oraz wspY do klasy punkt3d tym samym przesłaniając pola bazowe.
Zmodyfikowaliśmy tylko jedną linijkę: 15, gdzie dopisaliśmy dwa nowe pola. Dzięki temu metoda ustaw_wspolrzedne odnosi się teraz do przysłaniających pól, które zdefiniowaliśmy przed chwilą. A co stało się z polami, które są dziedziczone? Odpowiedź jest bardzo prosta: klasa punkt3d ma teraz dwa pola wspX (bazowy i przysłaniający) oraz dwa pole wspY również (bazowy i przysłaniający). Zad. 7. Zmodyfikuj powyższy program. Zmień wartości pól wspX oraz wspY - bazowych i przysłaniających. Wyświetl wartości tych pól odpowiednią metodą. Oto kod programu (od początku klasy punkt3d, gdyż klasa punkt ani wcześniejsze linie kodu nie były zmienione w tym zadaniu):
Oto wynik uruchomienia programu: Zauważ, że w linijkach: 32 i 33 ustawiane są wartości pól bazowych, co wykorzystane jest w metodzie us,taw_wspolrzedne3, wywołanej w linijce 44. Ponadto, w linijkach 36 i 37 następuje odwołanie do pól bazowych poprzez słowo super, natomiast w linijkach 38 i 39 występuje odwołanie do pól lokalnych w klasie pochodnej za pomocą słowa this. Odwołania te wykorzystane są w metodzie wyswietl_wspolrzedne, użytej w linijce 45.
|