Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


3.2.5

Vererbung und Polymorphismus


Die zwei weiteren Schlagwörter, die im Zusammenhang mit der objektorientierten Programmierung auftreten, Vererbung und Polymorphismus, stehen in engem Zusammenhang mit der Forderung nach der Wiederverwendbarkeit und Anpassungsfähigkeit bereits bestehenden Codes für neue Problemstellungen.

Unter Vererbung versteht man die Möglichkeit, ein neues Objekt von einem vorhandenen Objekt abzuleiten, wobei das neue Objekt alle Merkmale und Fähigkeiten des alten besitzt. Dem neuen Objekt können dann weitere charakteristische Merkmale hinzugefügt werden. So könnte man auf der Basis des Objekts »Fahrzeug« das Objekt »Auto« oder »Lokomotive« ableiten. »Auto« erbt dann die Merkmale von »Fahrzeug«, so zum Beispiel »besitzt Räder« oder »kann Personen aufnehmen«. Ferner könnte »Auto« das Objekt »Fahrzeug« um einige Fähigkeiten erweitern, beispielsweise »anlassen« und »ausschalten«.

Klassen, die von einer bestimmten Basisklasse abgeleitet sind, werden auch Unterklassen dieser Klasse genannt. Das Beispiel von »Auto« zeigt, dass Unterklassen ihre Oberklassen einerseits erweitern und andererseits spezialisieren.

Die Polymorphie macht es möglich, dass verschiedene Unterklassen dieselbe Botschaft verstehen, obwohl die technische Umsetzung der Reaktion auf diese Botschaft völlig unterschiedlich sein kann. Auf die Botschaft »anfahren« können sowohl Objekte vom Typ »Auto« als auch vom Typ »Lokomotive« reagieren, und das Resultat ist bei beiden vergleichbar, nämlich, dass sie sich in Bewegung setzen. Allerdings sind die Handgriffe, die hierzu erforderlich sind, bei beiden Objekten sehr unterschiedlich.

Polymorphie wird nun dadurch realisiert, dass ein Objekt eine geerbte Methode abändern kann, um in der gewünschten Weise zu reagieren. Diesen Vorgang nennt man auch Überschreiben einer Methode. Unter der Annahme, dass das Objekt »Auto« Autos mit Schaltgetriebe abbildet, könnte man eine Unterklasse »Komfort-Auto« mit Automatikgetriebe ableiten. »Komfort-Auto« wird dann die Methode »anfahren« so überschreiben, dass das Kuppeln und Schalten entfällt. Es ist natürlich auch möglich, dass eine Klasse die bestehende Funktionalität einer Methode erweitern muss, um in ihrer Weise auf eine Botschaft zu reagieren.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.