HSG

Aktuelle Seite: HSG/Fächer/Informatik/Material

OOP - Vererbung

Ausarbeitungen zu untenstehender Aufgabenstellung

Gruppe Liell-Rauch-Seise

Aufgabenstellung und Vorschlag einer Grobstruktur

  • Einführendes Beispiel: Rollenspielwürfel, Astragalus, gezinkter Würfel
  • Modellierung einzelner Klassen TW4, TW6, .. in UML
  • Beobachtung: alle Klassen bis auf den Namen scheinbar gleich, Kode-Duplizierung
  • Klärung der Unterschiedlichkeit der wuerfele-Methode
  • mögliche Lösungen: "Universalklasse" oder Vererbung
  • Entscheidung für Vererbung, Link zu Lösung mit Universalklasse+Diskussion
  • Vorstellung der Vererbung an Einfachstbeispiel, UML und Delphi
  • Polymorphe Variablen, einfaches Beispiel (Was geht: wAktuell := w4; w4 := wAktuell
  • Erläuterung mit Bildern (bei einer Zuweisung müssen alle Datenfelder gefüllt werden)
  • Einsatz des Cast-Operators ( Tw4(wAktuell).wuerfele )
  • Lösung mit "Universalklasse", Diskussion

Material:

Links:

Rollenspielwürfel
Astragalus
Replika dazu
Vorteile der Vererbung
Begriffe in der objektorientierten Welt

Bilder:

auf Laufwerk I: bzw L: sind im Verzeichnis wxx Bilder von Rollenspielwürfeln

Kopien:

  • S.55-S.58 aus Damann/Wemßen, Objektorientierte Programmierung mit Delphi, Band 2, Klett
  • S.45-S.47 aus Bernd Oesterreich, Objektorientierte Softwareentwicklung

Zitate aus: Barnes/Kölling, Objektorientierte Programmierung mit Java

Anmerkung mk: Superklasse = Oberklasse, Subklasse = Unterklasse

Vererbung erlaubt uns, eine Klasse als Erweiterung einer anderen zu definieren.
Eine Superklasse ist eine Klasse, die von anderen Klassen erweitert wird.
Eine Subklasse ist eine Klasse, die eine andere Klasse erweitert bzw. von dieser Klasse erbt. Sie erbt alle Datenfelder und Methoden von der Superklasse.
Klassen, die über Vererbungsbeziehungen miteinander verknüpft sind, bilden eine Verebungshierarchie.
Vererbung erlaubt die Wiederverwendbarkeit bereits erstellter Klassen in neuen Zusammenhängen.
Subtyp.Analog zur Klassenhierarchie bilden die Objekttypen eine Typhierarchie. Der Typ, der durch eine Subklasse definiert ist, ist ein Subtyp des Typs, der durch die zugeordnete Superklasse definiert wird.
Variablen und Subtypen. Eine Variable kann ein Objekt halten, dessen Typ der Variablen oder ein beliebiger Subtyp des deklarierten Typs ist.
Ersetzbarkeit. Objekte von Subtypen können an allen Stellen verwendet werden, an denen ein Supertyp erwartet wird. Dieses Prinzip nennen wir Ersetzbarkeit.
Variable für objekttypen sind polymorphe Variablen. Der Term polymorph (wörtlich: vielgestaltig) bezieht sich auf den Umstand, dass eine Variable Objekte von verschiedenen Typen (den deklarierten Typ der Variablen und den Subtypen dieses deklarierten Typs) halten kann.

Programme:

vererbung0.zip vererbung2.zip

Für Quellcode:

1
hgh
2
hgfh
3
ghh
4