Agenda

  • Wiederholung
  • Polymorphie
  • Zusammenfassung

Wiederholung

Vererbung

  • Generalisierung in Oberklasse
  • Vererbung an Unterklasse
  • super
  • protected

Polymorphie

Eine Referenzvariable kann abgeleitetes Objekt referenzieren

  • Vehicle → Car oder Truck
  • Human → Baby, Child oder Adult
  • Smartphone → Samsung Galaxy, Apple iPhone

Limitationen der Polymorphie

  • Unterklasse muss Oberklasse erweitern
  • nur public der Oberklasse verwendbar

Demo Polymorphie

  • Oberklassenmethode makeSound
  • ArrayList mit Dog und Cat

Upcast

Der Referenzvariable einer Oberklasse wird eine Referenzvariable einer Unterklasse zugewiesen.

Beispiel Upcast

Animal bello = new Dog();
Animal merlin = new Cat();

Downcast

Die Referenzvariable einer Oberklasse wird in eine Referenzvariable einer Unterklasse umgewandelt.

Beispiel Downcast

Animal bello = new Dog();
Dog bello2 = (Dog) bello;

Demo Downcast

  • Animal zu Dog

instanceof Operator

  • prüft, ob eine Referenzvariable eine Instanz einer bestimmten Klasse ist.

Beispiel instanceof

Animal bello = new Dog();
if (bello instanceof Dog) {
   // dog specific coding
}

Demo

  • Dog und Cat spezifische Methoden
  • instanceof mit Downcast in ArrayList

Zusammenfassung

  • Polymorphie
  • Upcast
  • Downcast
  • instanceof

Rest of the day

  • Polymorphy 03 & 04