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

Kursinhalt

Java Oop

Java Oop

1. Arbeiten mit der IDE
2. Oop
3. Schnittstelle

book
OOP-Prinzipien: Vererbung

Vererbung

Betrachten wir das Prinzip der OOP – Vererbung.

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

  • Die Klasse, die als Grundlage dient, wird als Elternklasse oder Superklasse bezeichnet;

  • Die auf Basis der Elternklasse erstellte Klasse wird als Kindklasse, Subklasse oder Nachfolger bezeichnet.

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

Eine Klasse kann mit dem Schlüsselwort extends vererbt werden. Die Syntax für eine Kindklasse, die von einer Elternklasse erbt, sieht folgendermaßen aus:

Child.java

Child.java

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 Feldern und Methoden, und es gibt eine Klasse Parrot mit eigenen Feldern und Methoden. Ein Papagei ist ein Vogel, daher sollte der Papagei logisch von der Klasse Bird erben:

Hier ist der Code aus dem Screenshot, überarbeitet für bessere Lesbarkeit und Klarheit:

Bird.java

Bird.java

Parrot.java

Parrot.java

Main.java

Main.java

copy
12345678910111213141516171819
package animals.birds; public class Bird { public String color; public boolean canFly; public int maxAge; public void eat() { System.out.println("The bird is eating"); } public void fly() { if (canFly) { System.out.println("The bird is flying!"); } else { System.out.println("This bird can't fly :("); } } }

Lassen Sie uns verstehen, was auf diesen Abbildungen passiert:

  1. Es wird eine Klasse Bird erstellt, die in unserem Fall die Elternklasse ist. Diese Klasse verfügt über eigene Felder und Methoden;

  2. Es wird eine Klasse Parrot erstellt, die mit dem Schlüsselwort extends von der ElternklasseBird erbt. Die Klasse Parrot ist eine Kindklasse und besitzt eigene Felder und Methoden. Zusätzlich erbt die Kindklasse Parrotalle Felder und Methoden der Elternklasse Bird;

  3. Im Parrot-Modul wird ein Objekt der Klasse main erstellt. Dabei können die Felder sowohl der Eltern- als auch der Kindklasse initialisiert werden. Zuerst werden die Felder der Elternklasse Bird initialisiert, danach die Felder der Kindklasse Parrot. Anschließend werden die Methoden aufgerufen: zuerst die Methoden der Elternklasse, dann die Methode der Kindklasse.

So wurde durch Vererbung die Klasse Bird geerbt.

Warum machen wir das?

Wenn es viele verschiedene Unterklassen von Bird gibt, nicht nur Parrot, sondern zum Beispiel auch Pigeon und Penguin, entstehen viele doppelte Felder wie boolean canFly. Das erste, wobei Vererbung hilft, ist das Vermeiden von doppelten Codefragmenten. Darüber hinaus wird die Lesbarkeit deutlich verbessert. In der Praxis begegnet man der Klasse Bird und ihren Unterklassen selten direkt, aber Vererbung wird häufig verwendet, insbesondere mit Interfaces.

Hinweis

Sie werden im nächsten Abschnitt dieses Kurses mehr über Interfaces erfahren.

Regeln der Vererbung

  • Es kann nur eine Klasse geerbt werden. Java unterstützt keine Mehrfachvererbung. Eine Klasse kann nur eine Elternklasse haben;

  • Alles wird außerprivate-Variablen und -Methoden vererbt.

Hinweis

Sie können nicht von sich selbst erben!

Früher wurde erwähnt, dass eine Unterklasse Zugriff auf alle Variablen und Methoden der Elternklasse hat. Das ist jedoch nicht ganz korrekt.

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

  • Überschreiben der Methode der Elternklasse.

Angenommen, eine geerbte Klasse enthält bestimmte Teile des Codes, die nicht gewünscht sind. Beispielsweise soll eine bestimmte Methode anders funktionieren als in der Elternklasse.

Um eine Methode der Elternklasse zu überschreiben, wird @Override darüber geschrieben:

Parrot.java

Parrot.java

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

Im obigen Code haben wir die Methode der Elternklasse überschrieben, und nun wird beim Aufruf dieser Methode aus der Kindklasse die überschriebene Methode ausgeführt!

  • Verhindern der Vererbung.

Wenn Sie nicht möchten, dass Ihre Klasse vererbt wird, verwenden Sie den final-Modifikator davor. Zum Beispiel:

Bird.java

Bird.java

Parrot.java

Parrot.java

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

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

Dies sind nur die grundlegenden Regeln und Eigenschaften der Vererbung. Es handelt sich um ein umfangreiches Thema, das Sie sehr häufig verwenden werden. Im Verlauf des Kurses werden Sie mit weiteren Aspekten der Vererbung vertraut gemacht und diese häufiger anwenden.

1. Warum benötigen wir Vererbung in Java?

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

3. Wie kann man Vererbung in Java verhindern?

question mark

Warum benötigen wir Vererbung in Java?

Select the correct answer

question mark

Von wie vielen Klassen können wir gleichzeitig erben?

Select the correct answer

question mark

Wie kann man Vererbung in Java verhindern?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

course content

Kursinhalt

Java Oop

Java Oop

1. Arbeiten mit der IDE
2. Oop
3. Schnittstelle

book
OOP-Prinzipien: Vererbung

Vererbung

Betrachten wir das Prinzip der OOP – Vererbung.

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

  • Die Klasse, die als Grundlage dient, wird als Elternklasse oder Superklasse bezeichnet;

  • Die auf Basis der Elternklasse erstellte Klasse wird als Kindklasse, Subklasse oder Nachfolger bezeichnet.

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

Eine Klasse kann mit dem Schlüsselwort extends vererbt werden. Die Syntax für eine Kindklasse, die von einer Elternklasse erbt, sieht folgendermaßen aus:

Child.java

Child.java

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 Feldern und Methoden, und es gibt eine Klasse Parrot mit eigenen Feldern und Methoden. Ein Papagei ist ein Vogel, daher sollte der Papagei logisch von der Klasse Bird erben:

Hier ist der Code aus dem Screenshot, überarbeitet für bessere Lesbarkeit und Klarheit:

Bird.java

Bird.java

Parrot.java

Parrot.java

Main.java

Main.java

copy
12345678910111213141516171819
package animals.birds; public class Bird { public String color; public boolean canFly; public int maxAge; public void eat() { System.out.println("The bird is eating"); } public void fly() { if (canFly) { System.out.println("The bird is flying!"); } else { System.out.println("This bird can't fly :("); } } }

Lassen Sie uns verstehen, was auf diesen Abbildungen passiert:

  1. Es wird eine Klasse Bird erstellt, die in unserem Fall die Elternklasse ist. Diese Klasse verfügt über eigene Felder und Methoden;

  2. Es wird eine Klasse Parrot erstellt, die mit dem Schlüsselwort extends von der ElternklasseBird erbt. Die Klasse Parrot ist eine Kindklasse und besitzt eigene Felder und Methoden. Zusätzlich erbt die Kindklasse Parrotalle Felder und Methoden der Elternklasse Bird;

  3. Im Parrot-Modul wird ein Objekt der Klasse main erstellt. Dabei können die Felder sowohl der Eltern- als auch der Kindklasse initialisiert werden. Zuerst werden die Felder der Elternklasse Bird initialisiert, danach die Felder der Kindklasse Parrot. Anschließend werden die Methoden aufgerufen: zuerst die Methoden der Elternklasse, dann die Methode der Kindklasse.

So wurde durch Vererbung die Klasse Bird geerbt.

Warum machen wir das?

Wenn es viele verschiedene Unterklassen von Bird gibt, nicht nur Parrot, sondern zum Beispiel auch Pigeon und Penguin, entstehen viele doppelte Felder wie boolean canFly. Das erste, wobei Vererbung hilft, ist das Vermeiden von doppelten Codefragmenten. Darüber hinaus wird die Lesbarkeit deutlich verbessert. In der Praxis begegnet man der Klasse Bird und ihren Unterklassen selten direkt, aber Vererbung wird häufig verwendet, insbesondere mit Interfaces.

Hinweis

Sie werden im nächsten Abschnitt dieses Kurses mehr über Interfaces erfahren.

Regeln der Vererbung

  • Es kann nur eine Klasse geerbt werden. Java unterstützt keine Mehrfachvererbung. Eine Klasse kann nur eine Elternklasse haben;

  • Alles wird außerprivate-Variablen und -Methoden vererbt.

Hinweis

Sie können nicht von sich selbst erben!

Früher wurde erwähnt, dass eine Unterklasse Zugriff auf alle Variablen und Methoden der Elternklasse hat. Das ist jedoch nicht ganz korrekt.

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

  • Überschreiben der Methode der Elternklasse.

Angenommen, eine geerbte Klasse enthält bestimmte Teile des Codes, die nicht gewünscht sind. Beispielsweise soll eine bestimmte Methode anders funktionieren als in der Elternklasse.

Um eine Methode der Elternklasse zu überschreiben, wird @Override darüber geschrieben:

Parrot.java

Parrot.java

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

Im obigen Code haben wir die Methode der Elternklasse überschrieben, und nun wird beim Aufruf dieser Methode aus der Kindklasse die überschriebene Methode ausgeführt!

  • Verhindern der Vererbung.

Wenn Sie nicht möchten, dass Ihre Klasse vererbt wird, verwenden Sie den final-Modifikator davor. Zum Beispiel:

Bird.java

Bird.java

Parrot.java

Parrot.java

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

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

Dies sind nur die grundlegenden Regeln und Eigenschaften der Vererbung. Es handelt sich um ein umfangreiches Thema, das Sie sehr häufig verwenden werden. Im Verlauf des Kurses werden Sie mit weiteren Aspekten der Vererbung vertraut gemacht und diese häufiger anwenden.

1. Warum benötigen wir Vererbung in Java?

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

3. Wie kann man Vererbung in Java verhindern?

question mark

Warum benötigen wir Vererbung in Java?

Select the correct answer

question mark

Von wie vielen Klassen können wir gleichzeitig erben?

Select the correct answer

question mark

Wie kann man Vererbung in Java verhindern?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2
some-alt