Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen OOP-Prinzipien: Inheritance | Oop
Java OOP
course content

Kursinhalt

Java OOP

Java OOP

1. Wie Arbeitet Man mit Einer IDE?
2. Oop
3. Schnittstelle

book
OOP-Prinzipien: Inheritance

Vererbung

Lasst uns über das Prinzip der OOP sprechen – Vererbung.

Vererbung ist ein Mechanismus, der die Erstellung von Klassen basierend auf einer anderen Klasse ermöglicht.

  • Die Klasse, die als Basis dient, wird als Elternklasse oder Superklasse bezeichnet;
  • Die auf der Elternklasse basierende Klasse wird als Kindklasse, Subklasse oder Abkömmling bezeichnet.

Somit kann die Kindklasse die Eigenschaften und Merkmale einer anderen Klasse – der Elternklasse (ihre Methoden und Variablen) – erben.

Du kannst eine Klasse mit dem Schlüsselwort extends erben. Die Syntax für eine Kindklasse, die von einer Elternklasse erbt, sieht folgendermaßen aus:

java

Child

copy
123
class Child extends Parent { // properties and methods }

Schauen wir uns ein Beispiel an, wie Vererbung im Code funktioniert. Wir haben eine Klasse Bird mit bestimmten Felder und Methoden, und es gibt eine Klasse Parrot mit eigenen Felder und Methoden. Ein Papagei ist ein Vogel, also sollte logischerweise der Papagei von der Klasse Bird erben:

Lassen Sie uns verstehen, was auf diesen Bildern passiert:

  1. Wir erstellen eine Klasse Bird, die in unserem Fall die Elternklasse ist. Diese Klasse hat eigene Felder und Methoden;
  2. Wir erstellen eine Klasse Parrot, die das Schlüsselwort extends verwendet, um von der Elternklasse Bird zu erben. Die Klasse Parrot ist eine Kindklasse und verfügt über eigene Felder und Methoden. Zusätzlich erbt Parrot als Kindklasse alle Felder und Methoden der Elternklasse Bird;
  3. Wir erstellen ein Objekt der Klasse Parrot in der main-Methode und sehen, dass wir die Felder sowohl der Eltern- als auch der Kindklasse initialisieren können. Zuerst initialisieren wir die Felder der Elternklasse Bird und dann die Felder der Kindklasse Parrot. Anschließend rufen wir die Methoden auf: zuerst die Methoden der Elternklasse und danach die Methode der Kindklasse.

Damit haben wir Vererbung genutzt, um die Klasse Bird zu erben.

Warum machen wir das?

Wenn wir viele verschiedene Unterklassen von Bird haben, nicht nur Parrot, zum Beispiel gibt es auch Pigeon und Penguin, dann hätten wir viele duplizierte Felder, wie etwa boolean canFly. Das erste, was uns die Vererbung hilft, ist, duplizierte Codeabschnitte zu vermeiden. Zudem verbessert sie erheblich die Lesbarkeit. In der Praxis begegnet man selten direkt der Klasse Bird und ihren Unterklassen, aber Vererbung wird häufig verwendet, insbesondere in Verbindung mit Schnittstellen.

Note

Im nächsten Abschnitt dieses Kurses werden Sie etwas über Schnittstellen lernen.

Vererbungsregeln

  • Von nur einer Klasse erben. Java unterstützt keine Mehrfachvererbung. Eine Klasse kann nur einen Elternteil haben;

  • Alles wird vererbt außer private Variablen und Methoden.

Note

Man kann nicht von sich selbst erben!

Zuvor erwähnte ich, dass eine Unterklasse Zugriff auf alle Variablen und Methoden der Elternklasse hätte. Das ist jedoch nicht ganz richtig.

Tatsächlich sind alle Methoden und Variablen, die mit dem private Modifier markiert sind, für die Unterklasse nicht zugänglich.

  • Überschreiben der Methode der Elternklasse.

Stellen Sie sich vor, wir erben eine Klasse, aber es gibt bestimmte Teile des geerbten Codes, die uns nicht gefallen. Angenommen, wir möchten, dass eine bestimmte Methode anders arbeitet als in der Elternklasse.

Um eine Methode aus der Elternklasse zu überschreiben, schreiben wir @Override darüber:

java

Parrot

copy
1234
@Override public void eat() { System.out.println("The parrot is eating"); }

Im obigen Code haben wir die Methode der Eltern-Klasse überschrieben, und nun, wenn diese Methode aus der Kind-Klasse aufgerufen wird, wird die überschriebene Methode ausgeführt!

  • Vererbung verhindern.

Wenn du nicht möchtest, dass jemand deine Klasse erbt, verwende den final Modifier davor. Zum Beispiel:

java

Bird

java

Parrot

copy
123
public final class Bird { // fields and methods }

Auf diese Weise haben wir durch die Verwendung des Schlüsselworts final die Vererbung der Bird-Klasse unterbunden.

Dies sind nur die grundlegenden Regeln und Merkmale der Vererbung. Es ist ein weites Thema, und du wirst es sehr häufig verwenden. Im Laufe des Kurses wirst du mit weiteren Aspekten der Vererbung vertraut werden und sie häufiger einsetzen.

1. Warum benötigen wir Vererbung in Java?

2. Von wie vielen Klassen können wir gleichzeitig erben?

3. Wie können wir Vererbung in Java verhindern?

Warum benötigen wir Vererbung in Java?

Warum benötigen wir Vererbung in Java?

Wählen Sie die richtige Antwort aus

Von wie vielen Klassen können wir gleichzeitig erben?

Von wie vielen Klassen können wir gleichzeitig erben?

Wählen Sie die richtige Antwort aus

Wie können wir Vererbung in Java verhindern?

Wie können wir Vererbung in Java verhindern?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2
We're sorry to hear that something went wrong. What happened?
some-alt