Diese Webseite speichert Cookies und verarbeitet personenbezogene Daten, um das Angebot jener zu verbessern. Sie können allgemein die entsprechenden Dienste uneingeschränkt zulassen („Einverstanden“) oder nur eingeschränkt zulassen („Einschränken“). Sie können diesen Hinweis aber auch ausblenden, dann werden die Dienste nur eingeschränkt zugelassen. Die Auswahl wird in einem Cookie für ein Jahr gespeichert, bei der Ausblendung nur bis zum Sitzungsende (mittels eines Session-Cookies).

Sie können auch weitere Einstellungen vornehmen (zum Auf-/Einklappen hier klicken):
AdSense
Analytics
  1. Mit der Einstellung „AdSense komplett erlauben“ erklären Sie sich damit einverstanden, dass die Webseite Cookies speichert, um für Sie personalisierte Werbung bereitstellen zu können. Mit der Einstellung „AdSense eingeschränkt erlauben“ werden keine solchen Cookies verwendet und es wird Werbung angezeigt, die sich am Thema der einzelnen Seite orientiert. In jedem Fall wird aber von Google ein Cookie gesetzt, durch das ein Betrug verhindert wird.
  2. Mit der Einstellung „Analytics komplett erlauben“ willigen Sie darin ein, dass die Webseite Cookies speichert, durch die es ermöglicht wird, Sie bei einem erneuten Besuch zuordnen zu können. Mit der Einstellung „Analytics eingeschränkt erlauben (Session-Cookie)“ wird ein Session-Cookie nur zur Aufzeichnung der aktuellen Sitzung angelegt. Mit der Einstellung „Analytics eingeschränkt erlauben (ohne Session-Cookie)“ wird kein Cookie gesetzt, sondern stattdessen ein Zählpixel mit einer nicht zuordenbaren ClientId.

Sie können auch auf der Datenschutzseite weitere Informationen einholen. In diesem Fall stimmen Sie einer eingeschränkten Nutzung zu (ohne Setzung eines Analytics-Cookies), um den Inhalt lesen zu können. Die Zustimmung wird mit einem Session-Cookie gespeichert. Sie können auf der Datenschutzseite die Einstellungen entsprechend anpassen.

Überspringe die Navigation
Schulstoff.org
Kontrastmodus umschalten
Zählmarke Vererbung und Polymorphie
Anmerkung: In dieser Jahrgangsstufe geht es vor allem um die Programmierung mit Java. Zum Erlernen eignet sich unter anderem das Programm BlueJ.
Inhaltsverzeichnis [Anzeigen] [Verbergen]

Vererbung und Polymorphie

Eine Fluglinie könnte ihre Mitarbeiter in Piloten, Flugbegleiter und Bodenpersonal aufteilen. Alle Attribute und Methoden, die alle Mitarbeiter gemeinsam haben, wie z.B. persnr, name, kuendigen() werden in der Oberklasse PERSONAL festgelegt.

Attribute und Methoden, die nur einen Teil der Mitarbeiter betreffen, werden dagegen in der betreffenden Unterklasse aufgenommen (z.B. das Attribut abteilung in BODENPERSONAL). Die Unterklasse erbt sämtliche Attribute und Methoden der Oberklasse. In Java wird der Bezug zur Oberklasse mittels des Schlüsselwortes extends hergestellt, also z.B. class BODENPERSONAL extends PERSONAL. Das zugehörige Klassendiagramm könnte also folgendermaßen aussehen:

Beispiel für ein Klassendiagramm der Vererbung und PolymorphieBeispiel für ein Klassendiagramm der Vererbung und Polymorphie
Beispiel für ein Klassendiagramm der Vererbung und Polymorphie

Im Beispiel werden die Methoden befoerdern(), gehaltBerechnen() von allen Objekten der drei Unterklassen verstanden, da sie von der gemeinsamen Oberklasse PERSONAL geerbt wurden, allerdings werden diese Methoden z.T. überschrieben. Erst zur Laufzeit dieses Programms entscheidet sich je nach Zugehörigkeit zu einer der drei Unterklassen, welche der verschiedenen Ausprägungen ausgeführt wird.

Da hierbei der gleiche Methodenaufruf bei Objekten verschiedener Klassen eine unterschiedliche Ausführung bewirkt, spricht man von Polymorphie (griech. „Vielgestaltigkeit“). In dem Beispiel bekommt ein Pilot zum Grundgehalt eine Zulage abhängig vom Rang, während das Bodenpersonal für geleistete Überstunden zusätzlich entlohnt werden. Flugbegleiter haben keine Zusätze. Ähnliches gilt für die Methode befoerdern().

Sollten von einer Oberklasse keine Objekte erzeugt werden, z.B. weil jeder Mitarbeiter einer der drei Unterklassen angehört, verwendet man eine abstrakte Oberklasse PERSONAL, die im Diagramm durch {abstract} kenntlich gemacht wird. In Java erhalten abstrakte Klassen das Schlüsselwort abstract. In einer solchen Klasse muss eine Methode wie befoerdern() nicht ausformuliert werden, sondern kann ebenfalls als abstrakt deklariert werden. Das ist quasi nur eine Ankündigung, dass diese Methode existiert und in allen Unterklassen ausformuliert wird.

« Vorherige Seite
Auf einer Seite lesen
Nächste Seite »