Zum Hauptinhalt springen
Veröffentlicht am

Mehr über Vererbung in Java

Teilen:

Einführung

Während die erste Einführung in die Vererbung in Java uns hilft, die grundlegenden Konzepte zu verstehen, werden wir in diesem Artikel tiefer in fortgeschrittenere Themen wie Method Overriding und Abstraktion eintauchen.

Method Overriding

Wenn eine Unterklasse von einer Oberklasse erbt, erbt sie auch deren Methoden. In vielen Fällen möchten wir jedoch, dass die Unterklasse eine andere Implementierung für eine oder mehrere dieser Methoden hat. Dies wird durch Method Overriding erreicht, indem die Annotation @Override verwendet wird.

Vorteile des Method Overriding:

  1. Flexibilität: Ermöglicht es der Unterklasse, eine spezifische Implementierung einer Methode bereitzustellen, die bereits von ihrer Oberklasse bereitgestellt wird.
  2. Code-Wiederverwendung: Selbst beim Erben einer Methode von einer Oberklasse können wir sie an die spezifischen Anforderungen der Unterklasse anpassen.
  3. Verbesserte Lesbarkeit: Durch die Verwendung der Annotation @Override signalisieren wir klar, dass die Methode überschrieben wird, was den Code verständlicher macht.
package com.caffeinealgorithm.programaremjava;

public class MehrUeberVererbung {
  public void Run() {
    var person = new Sohn();
    person.information();
    person.lieblingsessen();

    /*
      Name: Nelson Silva
      Alter: 28
      Mein Lieblingsessen ist Lasagne.
    */
  }
}

class Vater {
  protected String nachname = "Silva";

  public void lieblingsessen() {
    System.out.println("Mein Lieblingsessen ist Meeresfrüchtereis.");
  }
}

class Sohn extends Vater {
  private String vorname = "Nelson";
  private int alter = 28;

  public void information() {
    System.out.printf("Name: %s %s\n", vorname, nachname);
    System.out.printf("Alter: %d\n", alter);
  }

  @Override
  public void lieblingsessen() {
    System.out.println("Mein Lieblingsessen ist Lasagne.");
  }
}

Abstraktion und Abstrakte Methoden

Der Begriff "abstract" wurde zuvor kurz erwähnt. Dies ist ein wichtiges Konzept in Java, das es ermöglicht, Klassen und Methoden zu erstellen, die nicht instanziiert werden können. Sie sind im Wesentlichen Vorlagen, denen andere Klassen folgen müssen.

  1. Abstrakte Klassen: Können nicht direkt instanziiert werden. Sie dienen als Basis für andere Klassen.
  2. Abstrakte Methoden: Werden in der abstrakten Klasse deklariert, haben aber keinen Körper. Unterklassen müssen die Implementierung dieser Methoden bereitstellen.

Wir werden dieses Thema in einem kommenden Artikel ausführlich behandeln und so ein vollständiges Verständnis der Abstraktion und ihrer Integration mit der Vererbung sicherstellen.

Fazit

Vererbung, kombiniert mit Konzepten wie Method Overriding und Abstraktion, macht die objektorientierte Programmierung zu einem leistungsstarken Werkzeug für die Erstellung modularer und wiederverwendbarer Software. Dies sind nur einige der fortgeschrittenen Konzepte in Java, und das weitere Erkunden dieser Themen wird dein Wissen noch weiter vertiefen.

Happy coding!