Diese Seite drucken

Vererbung

= die Übertragung von Eigenschaften / Attributen an die Unterklasse

  1. Ableiten einer Klasse
    - durch das Schlüsselwort extends
    - abgeleitete Klasse erbt die Instanzvariablen der Mutterklasse
    - Klassen die keine extends - Schlüsselwort besitzen werden von der Klasse Object abgeleitet
    - Object ist die Superklasse aller Klassen
    - abgeleitete Klasse erbt die Methoden der Mutterklasse

  2. Abstrakte Klassen
    - enthalten nur Deklarationen der Methoden
    - Methoden enthält anstelle von { }  ---> ein ;
    - abstrakte Methoden werden mit dem Schlüsselwort abstract gekennzeichnet
    - abstrakte Methoden können nicht direkt aufgerufen werden
      (nur durch Überschreiben in Kindsklasse)
    - abstrakte Klassen werden durch die Implementierung in verschiedenen Kindsklassen konkret
    - Aufruf von Methoden im Konstruktor die überlagert werden, sollten vermieden werden

  3. Konstruktor Vererbung
    - durch das Schlüsselwort super() (Konstruktor muss in Mutterklasse vorhanden sein)

  4. Vererbung / Überlagerung von Methoden
    - private Methoden sind im abgeleiteten Klassen nicht sichtbar => nicht überschreibbar
    - final Methoden sind vom Anwender als nicht überschreibbare Methoden gekennzeichnet
    - static Methoden bestehen unabhängig von Instanzen und haben das Problem nicht

    - Mithilfe von super.methode() kann die durch die Kindsklasse verdeckte Methode der Mutterklasse aufgerufen werden