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