5.5 Die Klasse Lieferschein

 

 

Ein Lieferschein enthält alle Bestellposten einer Kundenbestellung, die zum gleichen Zeitpunkt ausgeliefert werden können. Mit Hilfe der Klasse "Liste" wird aus dieser Klasse die Klasse "LieferscheinListe" erzeugt, die in der Klasse Verwaltung geführt wird.

Die Klasse Lieferschein ist in diesem Programm implementiert in der Header-Datei "JWI_Klassen_Lieferschein.h" und der Datei "JWI_Klassen_Lieferschein_Implementation.cpp", die die Implementierung der Operationen enthält. Sie hat im implementations-Modell folgend Form:

Attribute:

int lsnr

int lwnr

datum date

int knr

int bnr

BestellpostenListe postenliste

 

Operationen:

Lieferschein(int lieferscheinnr=0, int leiferwagennr=0, int kundennr=0, int bestellungsnr=0)

~Lieferschein()

int HoleLieferscheinNr()

int HoleLieferwagenNr()

datumzeiger HoleDatum()

int HoleKundenNr()

int HoleBestellungsNr()

BestellpostenListe HoleBestellpostenListe()

void SetzeLieferwagenNr(int lieferwagennr)

void PostenAnhaengen(Bestellposten bestp)

void LieferscheinDrucken()

 

 

5.6.1 Veränderungen zum ursprünglichen Modell

Die Attribute dieser Klasse sind als private deklariert und stimmen vollständig mit denen des ursprünglichen Entwurfs überein. Erwähnt sei in diesem Zusammenhang, daß die List der Bestellposten des Lieferscheines (postenliste) mit Hilfe einer Liste mit Elementen vom Typ Bestellposten implementiert wurde. D.h. die ursprünglich vorgesehene Liste aus Verweisen auf Bestellposten ist wieder durch Bestellposten direkt ersetzt worden. Dieses bringt wieder erhebliche Erleichterungen bei der Bearbeitung der Lieferscheine mit sich.

Aufgrund der Datenkapselung werden auch hier wieder Operationen zum Zugriff auf die Attribute erforderlich, wobei die Operation "HoleBestellpostenListe" ein Objekt vom Typ Liste<Bestellposten>, d.h. ein Objekt der Klasse Liste mit dem Element-Typ Bestellposten, zurückgibt.

Außerdem wird eine Operation benötigt, die es ermöglicht, die Nummer des Lieferwagens, der die Bestellposten des Lieferscheines ausliefert, nachträglich zuzuweisen. Dieses ist erforderlich, da eine solche Zuweisung erst dann möglich ist, wenn alle Lieferscheine eines Auslieferungsdurchganges feststehen.

Während die Operationen "posten_anhängen" und "ausdrucken" wie im ursprünglichen Modell implementiert wurden, ist die Operation "Neu" – in dem Sinne, in sie in diesem Programm verwendet wird – weggelassen worden. Der Grund hierfür ist der, daß ein Lieferschein ausschließlich durch eine neue Verknüpfung schon vorhandener Daten entsteht und daher die Erzeugung einer neuen Instanz von dem Konstruktor übernommen werden kann, an den alle notwendigen Daten direkt übergeben werden. Deshalb ist kein Bildschirmdialog zur Dateneingabe notwendig.

Das bedeutet, daß auch bei dieser Klasse nur sehr geringe Veränderungen vorgenommen worden sind.