java6.pdf

(30 KB) Pobierz
Wykład na temat języka programowania JAVA
Java – dziedziczenie
Nazwa dziedziczenie związana jest z procesem ewolucyjnym, w którym potomkowie
posiadają pewne cechy rodziców. Podobne znaczenie tej nazwy jest używane
w programowaniu obiektowym. Otóż zakładając, że każdy typ lub gatunek może mieć
swój podgatunek, a więc zawężony i uszczegółowiony opis obiektów, to właściwości tych
obiektów będą wynikały zarówno ze specyfikacji gatunku jak i podgatunku. Inaczej
mówiąc, elementy klas nadrzędnych będą również elementami ich pochodnych (klas
dziedziczących z klasy nadrzędnej).
W Javie możliwe jest tylko dziedziczenie typu jeden-do-jednego, co oznacza, że klasa
może dziedziczyć tylko z jednej klasy nadrzędnej. Ponieważ klasa nadrzędna może
również dziedziczyć z jednej klasy dla niej nadrzędnej otrzymuje się specyficzne
drzewo dziedziczenia w Javie. Nadrzędną klasą dla wszystkich klas w Javie jest klasa
Object. Wszystkie klasy bezpośrednio lub pośrednio z niej dziedziczą, czyli klasa ta
stanowi korzeń drzewa dziedziczenia. Ponieważ znajduje się ona w pakiecie java.lang.*,
można powiedzieć, że wszystkie klasy będą korzystały z tego pakietu. W Javie możliwe
jest więc dziedziczenie wielopoziomowe polegające na tym, że wiele klas może
dziedziczyć z jednej (lecz nie odwrotnie).
W Javie aby oznaczyć że jakaś klasa dziedziczy z innej klasy po nazwie klasy pisze się
słówko extends, a po nim nazwę klasy bazowej (tej z której się dziedziczy).
Ćwiczenie 1
Klasa pl jest klasą bazową dla klasy stanpl. Klasa pl zawiera trzy pola: ile, wiad i typ, oraz
jedną metodę stan zdefiniowaną z różnymi typami argumentów. Dzięki temu że klasa
stanpl dziedziczy z klasy pl wszystkie pola i metody klasy pl są widziane i mogą być
użyte w klasie stanpl. Obie klasy muszą znajdować się w jednym pliku.
import java.io.*;
class pl{
int ile = 49;
String wiad="W kraju jest: ";
String typ=" wojewodztw.";
void stan(String s){
System.out.println(wiad+s+typ);
}
void stan(int i){
System.out.println(wiad+i+typ);
}
}// koniec class pl
public class stanpl extends pl{
public static void main(String args[]){
stanpl st = new stanpl();
st.stan(18);
st.stan("czterdziesci kilka");
}
Java – dziedziczenie
}//koniec public class StanPL
Ćwiczenie 2:
Stworzyć klasę bazową Osoba zawierającą podstawowe dane osobowe, oraz metody
umożliwiające ich wypisywanie i zmianę, na bazie której należy zbudować klasę
Pracownik. Klasa Pracownik powinna zawierać dodatkowe pola takie jak zawód, zarobki,
urlop itp.
Ćwiczenie 3:
Stworzyć klasę Zwierze zawierającą pola waga i wzrost. Na bazie klasy Zwierze
zbudować klasy Ptaki, Ssaki, Płazy i Gady. Następnie na bazie klasy Ssaki zbudować klasę
Pies, na bazie klasy Ptaki zbudować klasę Kura.
Zgłoś jeśli naruszono regulamin