java lab06 polymorphism

background image

Laboratorium Java – Stosowanie polimorfizmu [2h]

Polimorfizm – wielopostaciowość :

przeciążanie (ang. overloading / ad-hoc polymorphism)

przesłanianie (ang. overriding)

class

Samochod {

private

String marka;

private

int

rok;

//przeciazanie

public

Samochod(String marka) {

this

(marka, 2005);

}

public

Samochod(String marka,

int

rok) {

this

.marka = marka;

this

.rok = rok;

}

//przeslanianie

public

String toString() {

return

marka +

" rocznik "

+ rok;

}

}

public

class

Test {

public

static

void

main(String[] args) {

System.out.println(

new

Samochod(

"BMW"

));

//automatyczna konwersja typu - wywolanie metody toString

}

}

BMW rocznik 2005

Rzutowanie obiektów:

rzutowanie w górę (ang. upcasting)

wywoływana zawsze metoda przesłonięta

wskazywanie na pole określonego typu

class

Pierwsza {

protected

int

pole = 10;

public

int

metoda() {

return

pole;

}

}

class

Druga

extends

Pierwsza {

//przeslanianie pola

protected

int

pole = 20;

//przeslanianie metody

public

int

metoda() {

return

pole + 5;

}

}

public

class

Test {

public

static

void

main(String[] args) {

Pierwsza pierwsza =

new

Druga();

Druga druga = (Druga) pierwsza;

System.out.println(

"Pole: "

+pierwsza.pole+

" "

+druga.pole);

System.out.println(

"Metoda: "

+pierwsza.metoda()+

" "

+druga.metoda());

}

}

Pole: 10 20

Metoda: 25 25

Laboratorium Java 06 (Opracowanie: Konrad Kurczyna)

1/2

background image

Zadanie:

zaimplementować aplikację z wykorzystaniem obu mechanizmów polimorfizmu

wykorzystać rzutowanie

Laboratorium Java 06 (Opracowanie: Konrad Kurczyna)

2/2


Wyszukiwarka

Podobne podstrony:
Java Media FreamWork
java 2
Projekt java
JAVA tablice
Inzynieria oprogramowania w ujeciu obiektowym UML wzorce projektowe i Java iowuje
Java Przewodnik dla poczatkujacych Wydanie V javpp5
zasady grupy, java, javascript, oprogramowanie biurowe, programowanie, programowanie 2, UTK, systemy
praktyczny kurs java NX2M5DXARLEHY6NHXOS5FJHKLI6ACRLQQSDRS2Q
notatki java 08
Praktyczny kurs Java
Java praca domowa 10
java 3 id 226367 Nieznany
Java Coding rules
java object serialization speci Nieznany
java script TY2DWI33KJCAKQBCFPFEFQ736KLTSQZ3F6JQE2Q
JP SS 4 start Java
notatki java 05
java swing

więcej podobnych podstron