G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten...

25
G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen beschreiben eine einfache Artikel-verwaltung, die objektorientiert zu modellieren ist.

Transcript of G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten...

Page 1: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung1

24. Methoden und Verfahren der objektorientierten Analyse

Realisierung

Artikelverwaltung

Die folgenden Anforderungen beschreiben eine einfache Artikel-verwaltung, die objektorientiert zu modellieren ist.

Page 2: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung2

10 Schritte bis zum OOA-Modell

1 Finden Sie Klassen ( Klassen)

Für jede Klasse nur soviele Attribute und Operationen identifizieren, wie für das Problemverständnis und das einwandfreie Identifizieren der Klasse notwendig sind.

2 Finden Sie Assoziationen und Aggregationen ( Assoziationen,

Aggregationen, Kardinalitäten, Muster)

Parallel zu 1 Assoziationen und / oder Aggregationen ermitteln, wobei die Unterscheidung zwischen beiden noch nicht relevant ist. Kardinalitäten können zunächst vernachlässigt werden.

3a Finden Sie Attribute für jede Klasse ( Attribute)

Weitere Attribute identifizieren und spezifizieren.

Page 3: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung3

3b Finden Sie externe Operationen für jede Klasse ( Operationen)

(Externe Operationen werden durch Botschaften, die von der Benutzungs-Oberfläche kommen, aktiviert).

Alle Operationen, die an der Benutzungs-Oberfläche sichtbar sind, identifizieren.

3a und 3b können vertauscht oder parallel durchgeführt werden.

4 Erstellen Sie den Objekt-Lebenszyklus ( Objekt-Lebenszyklus)

Jede Klasse daraufhin überprüfen, ob ein nicht-trivialer Objekt-Lebenszyklus erstellt werden kann. Daraus lassen sich oft weitere Operationen ableiten.

5 Finden Sie Vererbungsstrukturen ( Vererbung, Muster)

Erste Strukturen aufgrund der eingetragenen Attribute und Operationen aufstellen.

Page 4: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung4

6 Finden Sie interne Operationen für jede Klasse ( Operationen, Botschaften, Objekt-Lebenszyklus)

(Interne Operationen werden von Botschaften anderer Objekte aktiviert).

Aus externen Operationen (Schritt 3b) interne ableiten, einschließlich der Ein- / Ausgabeschnittstelle. Dazu Botschaftswege eintragen und / oder Interaktionsdiagramme erstellen.

7 Spezifizieren Sie Operationen ( Botschaften, Objekt-Lebenszyklus)

Mischung aus freiem Text, Pseudo-Code-Konstruktionen und Standardbefehlen von impliziten Operationen verwenden.

8 Überprüfen Sie die Vererbungsstrukturen (Vererbung, Muster)

Aufgrund der eingetragenen internen Operationen nochmals die Vererbungsstruktur überprüfen und ggf. korrigieren.

Page 5: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung5

9 Überprüfen Sie Assoziationen und Aggregationen

( Assoziationen, Aggregationen, Kardinalitäten, Muster)

Aufgrund der Kommunikation zwischen den Objekten Assoziationen und Aggregationen überprüfen und ggf. korrigieren. Endgültige Festlegung auf Assoziationen oder Aggregationen sowie Festlegung der Kardinalitäten.

10 Finden Sie Subsysteme ( Subsysteme)

Umfaßt das OOA-Modell mehr als eine DIN A4-Seite, dann bereits bei der Klassenidentifizierung grobe Subsystem-Bildung vornehmen, z.B. durch geeignete grafische Anordnung der Klassen.

Page 6: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung6

Lastenheft Artikelverwaltung

/LF 10/ Die Firma will ihre Artikel und Bestellungen verwalten.

/LF 20/ Für jeden Artikel werden die Artikelnummer, die Artikelbezeichnung und der Verkaufspreis festgehalten. Jeder Artikel gehört zu einer oder mehreren Artikelgruppen.

/LF 30/ Jeder Artikel kann an mehreren Orten gelagert werden. Beispielsweise lagert die Firma Artikel in ihren Filialen in Essen und Düsseldorf. Pro Lagerort werden für jeden Artikel dessen Maximalbestand, Mindestbestand, aktueller Bestand und Name des Lagers gespeichert.

Eine Lagerliste soll Auskunft über die Bestände geben.

/LF 40/ Jeder Artikel kann von verschiedenen Lieferanten bezogen werden. Dabei gibt es je nach Lieferant unterschiedliche Einkaufspreise und Verpackungseinheiten. Bei jedem Lieferanten besitzt der Artikel eine eigene Bestellnummer.

Page 7: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung7

/LF 50/ Für jeden Lieferanten müssen dessen Name, Adresse, Telefonnummer und der Ansprechpartner gespeichert werden. Jeder Lieferant kann mehrere Artikel liefern.

/LF 60/ Jeden Tag werden die Lagerbestände kontrolliert. Wird der Mindestbestand unterschritten, so wird ein Bestellvorschlag erstellt. Er enthält außer den Daten eines Artikels auch die verschiedenen Lieferanten mit ihren Lieferkonditionen. Für jedes Lager wird errechnet, wie viele Artikel nachbestellt werden müssen. Die vorgeschlagene Anzahl errechnet sich aus dem Maximalbestand und dem aktuellen Bestand. Diese Anzahl ist auf ein n-faches der Verpackungseinheit eines jeden Lieferanten abzurunden.

/LF 70/ Jeder Artikel kann in beliebiger Anzahl bestellt werden. Dabei wird vom System automatisch der günstigste Lieferant ausgewählt.

/LF80/ Jeder Artikel wird einzeln bei einem Lieferanten bestellt. Für jede Lieferantenbestellung werden das Bestelldatum und das Lieferdatum festgehalten. Der Einfachheit halber schließen wir Teillieferungen aus.

Page 8: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung8

/LF 90/ Ein Kunde kann eine oder mehrere Bestellungen erteilen, die erfaßt werden müssen.

Jede Bestellung erhält eine eindeutige Bestellnummer. Außerdem werden das Bestelldatum, das Lieferdatum und die Portokosten festgehalten.

/LF 100/ Jede Kundenbestellung kann sich auf mehrere Artikel beziehen. Für jeden bestellten Artikel ist die gewünschte Anzahl festzuhalten. Außerdem kann der Gesamtpreis für mehrere Artikel ungleich Anzahl*Verkaufspreis sein.

/LF 110/ Jede Kundenbestellung wird von einem Sachbearbeiter bearbeitet. Für jeden Sachbearbeiter sollen dessen Personalnummer, ein Kürzel, der Name und die Telefonnummer gespeichert werden.

/LF 120/ Außerdem sollen folgende Statistiken erstellt werden:

Welchen Umsatz hat ein Kunde X im aktuellen Jahr erzielt?

Welchen Umsatz hat ein Sachbearbeiter X mit seinen verschiedenen Kunden erzielt?

Page 9: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung9

Klassendiagramm der Artikelverwaltung

ArtikelNummerBezeichnungVerkaufspreisArtikelgruppenBestellvorschlag erst.(K)Günstigste Lieferkondition

ArtikelbestandMaximalbestandMindestbestandAktueller BestandLagernameLagerliste drucken(K)Nachbestellungermitteln

KundenbestellungBestellnrBestelldatumLieferdatumPortokosten/Rechn.betragErfassen

Lierferanten-Bestell.BestelldatumLieferdatumAnzahlBestellung durchführen

LieferkonditionEinkaufspreisVerpackungseinheitBestellnr Lieferant

SachbearbeiterPersonalnrKürzelUmsatz pro Kunde

KundeNummerAdresseUmsatz im Jahr

LieferantAdresseAnsprechpartner

PersonNameTelefon

BestellpostenAnzahl ArtikelGesamtpreis

1, m

0, m

0, m

0, m0, m

0, m

0, m

1, m

0, m

1

1

1

1

11

1

1

1

Page 10: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung10

Artikelverwaltung Artikel

NummerBezeichnung

VerkaufspreisArtikelgruppen

(Artikel)1234T-Shirt20,00Freizeit, Sport

(Artikelbestand)703540Düsseldorf

(Artikelbestand)1006550Essen

(Lieferkondition)12,00208957

(Lieferant)BluesJeans-Laden

(Lieferkondition)10,00507125

(Lieferant)MüllerTextil&Co...

Assoziation bzw. Aggregation

Objektverwaltung

Nachbestellung ermitteln

(Anzahl, Lagername)

Für alle Objekte der Klasse:

Page 11: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung11

Spezifikation der externen OperationenOperation Bestellvorgang_erstellen()

// Für alle Artikel ist für jedes Lager und als Gesamtsumme zu // ermitteln, welche Anzahl bis zum Maximalbestand fehlt, wobei die // Verpackungseinheiten zu berücksichtigen sind; alle Lieferanten mit // ihren Lieferkonditionen sind anzugeben

Für alle Objekte der Klasse:

Für jeden Artikelbestand:

Artikelbestand.Nachbestellung_ermitteln (out Anzahl, Lagername)

Summe = Anzahl von allen Lagerorten

Für jede Lieferkondition:

Lieferkondition.GetVerpackungseinheit();

GetLieferant()

Summe auf n-faches von Verpackungseinheit abrunden

KlasseArtikel

Page 12: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung12

Operation Bestellung_durchführen()

Klasse

Lieferantenbestellung

// Bestellung eines gewählten Artikels in der gewünschten Anzahl, wobei // das System den günstigsten Lieferanten wählt

Artikel auswählen

Eingabe der Anzahl zu bestellender Artikel

Artikel.Günstige_Lieferkondition_ermitteln(Lieferkondition)

Lieferkondition.GetVerpackungseinheit()

Anzahl auf Verpackungseinheiten abrunden

Lieferkondition.GetLieferant()

Lieferanten_Bestellung.Create(Bestelldatum, Anzahl)

Von der Klasse Lieferanten-Bestellung existiert ein temporärer Botschaftsweg zur Klasse Lieferkondition. Die Empfängerobjekte der Klasse Lieferkondition werden durch die Operation „Artikel.Günstige_Lieferkondition?“ festgestellt.

Page 13: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung13

Operation Erfassen()

Klasse

Kundenbestellung// Bestellung eines Kunden erfassen, wobei für jeden // bestellten Artikel ein Bestellposten anzulegen ist.

Kunden-Bestellung.Create(Bestell-Nr, Bestelldatum)

Für jeden Bestellposten:

Eingabe von Artikelnummer und Anzahl

Bestellposten.Create(AnzahlArtikel)

Bestellposten.SetGesamtpreis() =

AnzahlArtikel * Artikel.GetVerkaufspreis()

oder Sonderpreis

Rechnungspreis = Summe aller Gesamtpreise + Portokosten

SetLieferdatum(), SetPortokosten()

Von der Klasse Kunden-Bestellung existiert ein temporärer Botschaftsweg zur Klasse Artikel. In der Bestellung sind die gewünschten Artikel eindeutig identifiziert. Wir können daher direkt auf die Daten der jeweiligen A. zugreifen.

Page 14: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung14

Operation Umsatz im Jahr (in Jahr, out Umsatz) Klasse

Kunde//Für einen Kunden ist der Gesamtumsatz des // Jahres zu ermitteln

Für jede Kundenbestellung

Kunden-Bestellung.Get(Rechnungsbetrag();

GetBestelldatum()

Umsatz = Summe aller Rechnungsbeträge des angegebenen Jahres

Operation Umsatz pro Kunde (out Umsatz) Klasse

Sachbearbeiter//Für jeden Sachbearbeiter ist die Höhe des Umsatzes // für jeden Kunden zu ermitteln

Für jede Kunden-Bestellung

Kunden-Bestellung.GetRechnungsbetrag();

GetKunde()

addiere alle Rechnungsbeträge pro Kunde separat auf

Page 15: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung15

Operation Günstigste_Lieferkondition ermitteln (out Lieferkondition)

Für jede Lieferkondition:

Lieferkondition.GetEinkaufspreis()

Lieferkondition mit dem niedrigsten Einkaufspreis herausfinden

Operation Lagerliste drucken()

// Falls der Mindestbestand eines Artikels in diesem Lager // unterschritten ist, soll auf den Maximalbestand aufgefüllt werden

Rest = Aktueller Bestand - Mindestbestand

Wenn kein Rest vorhanden ist dann

Anzahl = Maximalbestand - Aktueller Bestand

Klasse

Artikelbestand

Page 16: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung16

Checkliste „So finden Sie Klassen“

1 Lassen sich konkrete Objekte identifizieren?

Bei technischen Systemen bieten sich die realen Objekte als Ausgangsbasis an. Bei kommerziellen Systemen finden sich Objekte oft in Formularen.

2 top-down und /oder bottom-up-Vorgehensweise?

Page 17: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung17

top-down

Liegen verbale Anforderungen vor, dann Text durchgehen und nach Klassen durchsuchen.

Handelt es sich um eine potentielle Klasse?

Besitzt die Klasse Attribute und Operationen oder nur Operationen?

bottom-up

Attribute (Daten) und Operationen(Funktionen) sammeln.

Attribute und Operationen zu Klassen zusammenfassen. Der

Klassenname muß der Gesamtheit der Attribute entsprechen, im Zweifelsfall mehrere Klassen. Im 1. Schritt Attribute und Operationen nur soweit ausfüllen, um Klassen eindeutig zu identifizieren.

Page 18: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung18

Checkliste: „So finden Sie Assoziationen“

1 Liegen zwischen Objekten permanente Beziehungen vor?

Welche Beziehungen existieren?

Existieren sie für einen längeren Zeitraum?

Sind die Assoziationen problemrelevant?

Existiert eine Beziehung unabhängig von allen nicht beteiligten Klassen?

In der Problembeschreibung nach Verben suchen, insbesondere:

a) räumliche Nähe (in der Nähe von) d) Besitz (hat)

b) Aktionen (fährt) e) allgemeine Beziehungen

c) Kommunikation (redet mit) (verheiratet mit)

Page 19: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung19

Checkliste: „So finden Sie Aggregationen“1 Existieren eine Rangordnung und ein enger semantischer Zusammenhang?

Läßt sich die Beziehung durch „besteht aus“ oder „ist Teil von“ beschreiben?

Kann problemlos angegeben werden, ob eine Klasse Aggregat oder Teil in der Beziehung ist?

Besteht ein enger semantischer Zusammenhang?

Gehören die beteiligten Klassen in ein Subsystem?

Wenn der Zugriff auf die Teilobjekte ausschließlich über das Aggregat- Objekt erfolgt, dann liegt eindeutig eine Aggregation vor.

Page 20: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung20

Checkliste: „So ermitteln Sie die richtigen Kardinalitäten“Die Kardinalitäten gelten ausschließlich für binäre Assoziationen und Aggregationen.

Für jede Seite einer Assoziation / Aggregation ist folgendes zu überlegen:

1 Liegt eine Muß-Beziehung vor?

Sobald das Objekt erzeugt ist , muß auch die Beziehung zu dem anderen Objekt aufgebaut werden.

2 Liegt eine Kann-Beziehung vor?

Die Beziehung kann zu einem beliebigen Zeitpunkt nach dem Erzeugen des Objekts aufgebaut werden.

3 Ist die Obergrenze fest oder variabel?

Ist eine Obergrenze vom Problem her zwingend vorgesehen?

Im Zweifelsfall mit variablen Obergrenzen arbeiten.

4 Gelten besondere Bedingungen?

Beispiele: Gerade Anzahl, mindestens 2, maximal 6.

Page 21: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung21

Checkliste: „So finden Sie Attribute“1 Ist ein Attribut problemrelevant im Sinne der Systemanalyse?

Ist jedes Attribut Gegenstand der Systemanalyse?

Kann jedes Attribut „im Laufe seines Lebens“ einen Wert annehmen?

Ist jedes Attribut relevant für die zu modellierende Anwendung?

2 Welcher Blickwinkes und welches Abstraktionsniveau ist relevant?

Ist jedes Attribut unter dem jeweiligen Blickwinkel von Bedeutung?

Würden für jedes Attribut geeignete Datenstrukturen gebildet?

3 Ist ein Schnappschuß oder die Historie zu modellieren?

Soll ein Objekt die Attributwerte zu einem bestimmten Zeitpunkt enthalten?

Soll ein Objekt die Attributwerte über einem gewissen Zeitraum enthalten?

Anfragen dazu an das System formulieren.

Page 22: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung22

Checkliste: “So finden Sie Operationen“

1 Welche Aufgaben müssen realisiert werden?

Fragen Sie: „Welche Aufgaben hat das System zu erfüllen?“

Fragen Sie nicht: „Welche Operationen enthält jede Klasse?“

2 Auf welche Ereignisse muß das System reagieren?

Überlegen Sie, welche Ereignissen in der Umgebung für das System relevant sind.

Für jedes Ereignis muß eine (externe) Operation existieren, die darauf reagiert bzw. entdeckt, daß ein entsprechendes Ereignis vorliegt.

Unterscheiden Sie externe Ereignisse und zeitliche Ereignisse.

Page 23: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung23

Checkliste: „So erstellen Sie einen Objekt-Lebenszyklus“1 Besitzt das Objekt einen nicht-trivialen Lebenszyklus?

Ein Objekt-Lebenszyklus sollte spezifiziert werden, wenn gilt:

a) Das gleiche Ereignis kann - in Abhängigkeit von dem Zustand, in dem sich das Objekt befindet - unterschiedliche Aktionen auslösen.

b) Die Operationen können nur in bestimmten Situationen auf ein Objekt angewendet werden. Tritt in einem anderen Zustand eine entsprechende Botschaft bzw. ein Ereignis auf, so wird sie bzw. es ignoriert.

Ein trivialer Objekt-Lebenszyklus liegt vor, wenn er nicht zum besseren Verständnis der Problematik beiträgt.

Page 24: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung24

Checkliste: „So erstellen Sie Vererbungsstrukturen“1 Liegt eine Struktur der Einfachvererbung vor?

Entweder bottom-up (Generalisieren), top-down (Spezialisieren) oder kombiniert.

bottom-up: Von den spezialisierten zu den allgemeineren Klassen.

a) Bilden einer neuen Oberklasse aus Klassen, die gemeinsame Attribute/ Operationen besitzen.

- Ist die Generalisierung / Spezialisierung erfüllt?

- Ist die neue Klasse eine abstrakte Klasse?

- Liegt die neue Klasse innerhalb des Problembereichs?

b) Auswählen einer existierenden Oberklasse?

- Ist ein Teil der Attribute / Operationen einer Klasse bereits in einer anderen Klasse definiert?

- Gilt die Generalisierung / Spezialisierung?

Page 25: G.Heyer Digitale Informationsverarbeitung 1 24. Methoden und Verfahren der objektorientierten Analyse Realisierung Artikelverwaltung Die folgenden Anforderungen.

G.Heyer Digitale Informationsverarbeitung25

top-down: Von den allgemeineren Klasse ausgehend spezialisierte suchen.a) Kann ein Objekt für jedes seiner Attribute immer einen Wert besitzen?

Kann jede Operation angewendet werden?

b) Können aus Klassen, die sehr viele Attribute / Operationen besitzen spezialisierte Klassen gebildet werden?

2 Liegt eine Struktur der Mehrfachvererbung vor?

Prüfen, ob eine gegebene Klasse eine Unterklasse von zwei oder mehr Klassen sein kann. Lösung von Namenskonflikten.

a) Bei Namenskonflikten müssen die Attribute / Operationen der Oberklassen umbenannt werden, oder es muß auf die Mehrfachvererbung verzichtet werden.

b) Attribute, die in den Oberklassen namentlich identisch sind, müssen auch vom selben Typ sein.

c) Bei der Unterklasse wird durch Angabe der jeweiligen Oberklasse festgelegt, welches Attribut bzw. Operation geerbt werden soll.