Die Vererbungsbeziehung wird in Java mit dem Schlüsselwort extends beschrieben. Beispiel:
classDiagram Person <|-- Mitarbeiter class Person { -name: String +setzeName(pName: String) +gibName(): String } class Mitarbeiter { }
Die Klasse Mitarbeiter ist eine Spezialisierung der Klasse Person. Sie erbt die öffentlichen Attribute und Methoden der Klasse Person.
Oberklassen vererben öffentliche (public, protected) Methoden und Attribute an Unterklassen. Das heißt, dass sie wie eigene Attribute verwendet werden können.
Das heißt auf Objekte der Klasse Mitarbeiter kann zum Beispiel die Methode setzeName aufgerufen werden.
Alle Klassen in Java erben direkt oder indirekt von der Java Basisklasse Object. Wird bei einer Klassendeklaration keine extends Klausel angegeben so wird die Klasse automatisch von der Klasse Object abgeleitet.
Prüfe dich
Gegeben sind die folgenden beiden Klassen. Beantworte die nachstehenden Fragen.
- Überprüfe, ob der folgende Quelltext gültig ist.
Nein! Das Attribut farbe ist private und somit nicht aus Unterklassen erreichbar.
- Überprüfe, ob der folgende Quelltext gültig ist.
Ja! Das Attribut geschwindigkeit der Klasse Fahrzeug ist public und wird somit an die Unterklasse PKW vererbt. Daher kann auf das Attribut zugegriffen werden.
- Überprüfe, ob der folgende Quelltext gültig ist.
Ja! Die Methode gibFarbe der Klasse Fahrzeug ist public und wird somit an die Unterklasse vererbt. Daher kann auf die Methode zugegriffen werden.
- Überprüfe, ob der folgende Quelltext gültig ist.
Nein! Das Attribut hatKofferraum ist private und somit nicht außerhalb der Klasse PKW verfügbar.
- Überprüfe, ob der folgende Quelltext gültig ist.
Nein! Das Attribut hatKofferraum ist nur in der Klasse PKW verfügbar, da PKW eine Unterklasse von Fahrzeug ist.