Laboratorium Java – Dziedziczenie i kompozycja [2h] Kompozycja

Transkrypt

Laboratorium Java – Dziedziczenie i kompozycja [2h] Kompozycja
Laboratorium Java – Dziedziczenie i kompozycja [2h]
Kompozycja – synonim słowa ma:
class Kolo {
}
class Samochod {
Kolo[] kolo;
}
Dziedziczenie – synonim słowa jest: (ang. inheritance)
class Samochod {
}
class Limuzyna extends Samochod {
}
–
każda klasa automatycznie dziedziczy po klasie Object
class Samochod extends Object {
}
✗ brak wielodziedziczenia!
✔ this - wskazanie na aktualny obiekt
✔ super – wskazanie na obiekt klasy bazowej (nadrzędnej)
Klasa Object:
.clone()
.equals(Object)
.finalize()
.getClass()
.hashCode()
.toString()
- tworzy i zwraca kopię aktualnego obiektu
- sprawdza, czy dany obiekt jest równy aktualnemu
- metoda wywoływana przez Garbage Collector, gdy nie istnieje
żadna referencja do aktualnego obiektu
- zwraca klasę reprezentującą obiekt
- zwraca wartość reprezentującą obiekt dla metody mieszającej
- zwraca reprezentację tekstową obiektu
Rzutowanie obiektów:
– rzutowanie w górę (ang. upcasting) – bezpieczne
– rzutowanie w dół (ang. downcasting) – wymaga testowania
Object object = (Object) new Samochod();
if (object instanceof Samochod) {
Samochod samochod = (Samochod) object;
}
//rzutowanie w gore
//sprawdzenie przed rzut.
//rzutowanie w dol
Object
Samochod
rys. hierarchia klas
instanceof – sprawdzenie, czy obiekt jest danej klasy
Laboratorium Java 05 (Opracowanie: Konrad Kurczyna)
1/2
Zadanie:
– zaimplementować aplikację wykorzystującą kompozycję i dziedziczenie
– wykorzystać rzutowanie
– wykorzystać this oraz super
Laboratorium Java 05 (Opracowanie: Konrad Kurczyna)
2/2

Podobne dokumenty