5.3 Die Klasse Geschaeftspartner

 

 

Von der Klasse "Geschaeftspartner" werden die Klassen Kunde und Lieferant abgeleitet, in denen die Daten aller Interaktionspartner von JWI gespeichert werden. Von diesen beiden abgeleiteten Klassen werden schließlich noch die Klassen "KundenKartei" und "LieferantenKartei" abgeleitet, die der Speicherung und Verwaltung der entsprechenden Objekte dienen.

Die Klasse Geschäftspartner ist in diesem Programm implementiert in der Header-Datei "JWI_Klassen_Geschaeftspartner.h" und der Datei "JWI_Klassen_Geschaeftspartner_Implementation.cpp", die die Implementierung der Operationen enthält. Im implementations-Modell hat sie folgend Form:

Attribute:

string name

string strasse

string ort

string plz

string tel

int gnr

 

Oerationen:

Geschaeftspartner(string namee="", string street="", string town="", string areacode="", string telephone="", int partenrnr=0)

~Geschaeftspartner()

void DatenAendern()

string HoleNamen()

string HoleStrasse()

string HoleOrt()

string HolePlz()

string HoleTel()

 

 

5.3.1 Veränderungen zum ursprünglichen Modell

 

Durch Hinzunahme des Attributes "Nummer des Geschäftspartners" (gnr) und der Operationen zum Zugriff auf die einzelnen Attribute ist eine Klasse entstanden, die alle gemeinsamen Operationen und Attribute der Klassen Kunde und Lieferant enthält. Nicht enthalten in dieser Oberklasse sind lediglich Operationen die auf einem Bildschirmdialog aufbauen – wie "Neu" und "DatenAendern" – und eine Operation zur Abfrage der Nummer des Geschäftspartners. Dadurch wird wiederum die Verständlichkeit des Programmes verbessert.

Da auch bei diesen Klassen die Abgeleiteten Klassen direkt auf Daten der Oberklasse zugreifen sollen (vgl. § 5.2.1) müssen die Attribute der Klasse Geschäftspartner wieder als public deklariert werden.

Insgesamt sind somit sowohl die Oberklasse Geschäftspartner als auch die abgeleiteten Klassen Kunde und Lieferant gegenüber dem ursprünglichen Modell kaum verändert worden. Die einzigen Veränderungen treten in der Struktur der Verteilung der Attribute zwischen Oberklassen und den abgeleiteten Klassen auf, die jedoch von außen nicht sichtbar ist.

 

 

5.3.2 Abgeleitete Klassen

 

 

5.3.2.1 Die Klasse Kunde

Die Klasse Kunde besteht aus den gleichen Dateien und der gleichen Aufteilung dieser Dateien wie die Klasse Geschaeftspartner. Aufgrund der Vererbungseigenschaft und der public Deklaration der Attribute in der Klasse Geschaeftspartner hat sie somit zusätzlich zu den Attributen und Operationen der Oberklasse noch die im folgenden genannten Operationen:

 

Klasse Kunde: public Geschaeftspartner

 

Operationen:

Kunde (string namee="", string street="", string town="", string areacode="", string telephone="", int partenrnr=0)

int HoleKundenNr()

void Neu(int kundennr)

 

 

5.3.2.2 Die Klasse Lieferant

Die Klasse Lieferant besteht ebenfalls aus den gleichen Dateien und der gleichen Aufteilung dieser Dateien wie die Klasse Geschäftspartner. Auch hier werden aufgrund der Vererbungseigenschaft und der public Deklaration der Attribute in der Klasse Geschäftspartner zusätzliche Operationen zu denjenigen der Oberklasse zu Verfügung gestellt:

 

Klasse Lieferant: public Geschaeftspartner

 

Operationen:

Lieferant(string namee="", string street="", string town="", string areacode="", string telephone="", int partenrnr=0)

int HoleLieferantenNr()

void Neu(int lieferantennr)