- Autor

- Name
- Nelson Silva
- Social
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:
- Flexibilität: Ermöglicht es der Unterklasse, eine spezifische Implementierung einer Methode bereitzustellen, die bereits von ihrer Oberklasse bereitgestellt wird.
- Code-Wiederverwendung: Selbst beim Erben einer Methode von einer Oberklasse können wir sie an die spezifischen Anforderungen der Unterklasse anpassen.
- Verbesserte Lesbarkeit: Durch die Verwendung der Annotation
@Overridesignalisieren 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.
- Abstrakte Klassen: Können nicht direkt instanziiert werden. Sie dienen als Basis für andere Klassen.
- 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.