Das Projekt e-Kauf

im Buch1), S. 132 - 160

Das Programmpaket soll einen online-Shop simulieren, in dem Gebote für die angebotenen Artikel abgegeben werden können.

Abschn. 5.1 - ohne Vererbung

Das Projekt beginnt mit drei Klassen: Angebot, Handy und Computer. Jeder Artikel hat eine artikelbezeichnung, ein gebot und versandkosten. Handys haben zusätzlich Angaben zu hersteller, modell und netze, Computer haben zusätzliche Angaben zu prozessortyp, festplattenkapazitaet und arbeitsspeicher. Jeder Artikel hat die Methoden listeneintragAnzeigen() und gesamtkostenBerechnen().

Wenn jetzt ein neuer Artikel ins Angebot aufgenommen werden soll, z.B. Auto, müssen neben den speziellen Fähigkeiten auch alle gemeinsamen Fähigkeiten in der Klasse Auto aufgenommen werden. Sollten hier Tippfehler bei den Schreibweisen der gleichartigen Instanzvariablen oder Methoden auftauchen, wird die Bedienung des e-Kauf-Systems zunehmend schwieriger.

Abschn. 5.2 - mit Vererbung

Um gleichartige Instanzvariablen und Methoden nicht in jeder Artikelart neu aufnehmen zu müssen, kann mit einem neuen Konzept gearbeitet werden: Vererbung. Zunächst wird eine zusätzliche Klasse Artikel angelegt, die alle Instanzvariablen und Methoden erhält, die in allen Artikelklassen vorhanden sind. Im Beispiel wären das artikelbezeichnung, gebot, versandkosten, listeneintragAnzeigen() und gesamtkostenBerechnen().

Die speziellen Artikel, Handy und Computer werden als Subklassen (Unterklassen) von der Superklasse (Oberklasse) Artikel abgeleitet - dadurch erben diese Unterklassen alle (nicht privaten) Instanzvariablen und Methoden der Oberklasse und können diese wie eigene Instanzvariablen und Methoden verwenden. Spezielle Instanzvariablen und Fähigkeiten können dann in der Unterklasse ergänzt werden. Dadurch werden Inkonsistenzen bei der Schreibweise der allgemeinen Instanzvariablen und Methoden vermieden, gleichzeitig bleibt die Möglichkeit der Spezialisierung.

Interessant wird es jetzt in der Klasse Angebot. Bislang musste für jede Artikelart eine eigene Liste geführt werden - sobald neue Artikel ins Angebot kommen, mussten neue Listen und zugehörige Methoden erstellt werden. Auch hier hilft die Vererbung weiter: Eine Liste, die für Objekte vom Typ Artikel, also der Oberklasse angelegt wurde, kann sämtliche speziellen Artikel speichern. Die Klasse Angebot benötigt also nur noch eine Liste für die Angebote und nur noch eine Methode, um die Angebote einzustellen.

Die neue Schwierigkeit ist jetzt, weiter auf die speziellen Fähigkeiten der Unterklassen zugreifen zu können - denn ein Artikel, der in die Artikelliste gesteckt wurde, kommt als Artikel wieder heraus - das Handy wirkt nach außen also anschließend als allgemeiner Artikel, genau wie der Computer. Diese Schwierigkeit kann behoben werden, indem in der Unterklasse gleichnamige Methoden wie in der Oberklasse existieren, die die Methode der Oberklasse überschreiben und damit auch anschließend spezielles Verhalten zur Verfügung stellen.

Abschn. 5.3 - Polymorphie

1)
DUDEN Informatik - Objektorientierte Programmierung mit BlueJ
schule/if/ef/projektekauf.txt · Zuletzt geändert: 2018/05/31 19:27 von ahrens
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0