Temat:
Konstruktor; Dziedziczenie - klasy potomne.

Wykonał

Data

Klasa/nr

Bijak Dariusz

20.01.2010

4i/1

Konstruktor - specjalna metoda, która odpowiada za inicjowanie obiektu w chwili jego tworzenia. Budowa konstruktora różni się od zwykłej metody tym, że nie podaje zwracanego typu i posiada nazwę dokładnie taką samą jak klasa.

Zadanie1

Podaj określenie konstruktora (str. 215) oraz budowę, właściwości i strukturę. Czy klasa może nie mieć konstruktora? Opisz znaczenie specyfikatorów dostępu w przypadku konstruktora.

Zadanie 2

Kod 3.13 ze strony 215 przekształć w taki sposób, aby konstruktor zawierał dodatkowe pola z Twoim imieniem i nazwiskiem. Kod wklej do sprawozdania

0x01 graphic

public class Tekst_konst

{

String t,i,n;

Tekst_konst()

{

t = "Tak dziala konstruktor!";

i = "Dariusz";

n = "Bijak";

}

public static void main(String[] args)

{

Tekst_konst tekst=new Tekst_konst();

System.out.println(tekst.t);

System.out.println(tekst.i);

System.out.println(tekst.n);

}

}

Zadanie 3

Zdefiniuj klasę Osoba, która ma dwie własności: imię i nazwisko oraz trzy metody: podaj_imie, podaj_nazwisko oraz wypisz_dane. Za przypisanie wartości utworzonym własnościom odpowiedzialny jest konstruktor. Kod wklej do sprawozdania.

public class Osoba

{

String imie,nazwisko;

Osoba()

{

imie = "Dariusz";

nazwisko = "Bijak";

}

String podaj_imie()

{

return imie;

}

String podaj_nazwisko()

{

return nazwisko;

}

void wypisz_dane()

{

System.out.println("imie : "+podaj_imie());

System.out.println("nazwisko : "+podaj_nazwisko());

}

public static void main(String [] args)

{

Osoba tekst=new Osoba();

tekst.wypisz_dane();

}

}

Zadanie 4

Podaj znaczenie pojęcia dziedziczenie. Jak wygląda podstawowy szkielet . Czy podklasa może mieć więcej niż jedną nadklasę? Jakie jeszcze uwarunkowania dotyczą relacji nadklasy i podklasy?

Zadanie 5

Przeanalizuj kod 3.14 ze strony 217. Rozbuduj podklasę o jeszcze jedno pole: nazwisko, zaś nadklasę o pole slaczek z wartością „xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”. Wykorzystaj pola w metodzie main.

0x01 graphic

public class Nadklasa

{

String slaczek;

String witaj;

{

witaj="Dzien dobry";

slaczek="xxxxxxxxxxxxxxxxxxxxxxxxxxxx";

}

public static void main (String[] args)

{

Podklasa t = new Podklasa();

System.out.println(t.witaj+" "+t.imie+" "+t.nazwisko+"!");

System.out.println(t.slaczek);

}

}

class Podklasa extends Nadklasa

{

String imie = "Dariusz";

String nazwisko = "Bijak";

}

Zadanie 6

Zdefiniuj klasę Motor, która ma dwie własności: rok_produkcji oraz moc_silnika, a także klasę Yamaha, która dziedziczy z klasy Motor i ma jedną własność: kolor.

public class Motor

{

String rok_produkcji;

String moc_silnika;;

{

rok_produkcji="2009 r";

moc_silnika="250 HP";

}

public static void main (String[] args)

{

Yamaha t= new Yamaha();

System.out.println("Rok produkcji : "+t.rok_produkcji);

System.out.println("Moc silnika : "+t.moc_silnika);

System.out.println("Kolor : "+t.kolor);

}

}

class Yamaha extends Motor

{

String kolor="niebieski";

}

Programowanie strukturalne i obiektowe
Język Java Strona 4