Announcement

Collapse
No announcement yet.

Konstruktoren sind Beispiele für Polymorphismus

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Konstruktoren sind Beispiele für Polymorphismus

    Ein Zitat unsere Info Professors: "Konstruktoren sind Beispiele für Polymorphismus"

    Kann mir die Aussage jemand erläutern?

    Meint er vielleicht, dass wenn ich eine Klasse erzeuge, die z.B. von TObject stammt, man automatisch auch ein TObject erzeugt?

  • #2
    Hi Christian,<br>
    Auszug aus : http://www.dpunkt.de/java/Die_Sprache_Java/Objektorientierte_Programmierung/8.html

    <br><br>
    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. <br><br>cu Michae

    Comment

    Working...
    X