Im Klassendiagramm werden Beziehungen (Assoziationen) durch Linien dargestellt.
Eine Beschriftung sowie ein Pfeil für die Leserichtung beschreiben die Art der Beziehung.
Außerdem geben Zahlen an den Enden der Linie die Kardinalität an. Sie geben an,
mit wie vielen Objekten ein Objekt in Beziehung stehen kann. Im folgenden Beispiel hat eine Person z. B.
einen Hund.
Der nachfolgende Quellcode zeigt, wie das Klassendiagramm implementier werden kann. Für die Beziehung
zwischen einem Objekt der Klasse Person
und einem Objekt der Klasse Hund
benötigt die Klasse Person
ein weiteres Attribut, ein Referenzattribut vom Typ Hund
.
referenzattribut.methodenname()
Gegeben sind die folgenden Definitionen von drei Klassen.
Gegeben ist folgendes Klassendiagramm:
Bild von Mike Ljung auf Pixabay
Fußgängerampeln bestehen nur aus einer roten und einer grünen Leuchte. Für eine Implementierung wäre folgendes Klassendiagramm
möglich. Die Klasse Ampel
stellt dabei grafisch den umgebenden Kasten für die beiden Lampen dar. Sie erbt von der Klasse
Rectangle
. Ebenso erbt die Klasse Lampe
von der Klasse Circle
Das folgende Klassendiagramm zeigt eine andere Möglichkeit die Ampel zu Implementieren. Erkläre in der Fachsprache den Unterschied zum ersten Entwurf.
Im ersten Entwurf werden die grafische Darstellung durch Vererbung erzeugt. So erweitert
z. B. die Ampel die Klasse Rectangle
und nutzt damit die Grafik eines Rechtecks.
Im zweiten Entwurf hat die Ampel eine Referenz auf ein Objekt der Klasse Rectangle
.
Um dies umzusetzen benötigt die Klasse Ampel
ein weiteres Referenzattribut vom Datentyp
Rectangle
.
Kurz zusammengefasst: Zur grafischen Darstellung nutzt der erste Entwurf das Prinzip der Vererbung, der zweite Entwurf dagegen das Prinzip von Referenzen zu Grafikklassen.
Bild von Qubes Pictures auf Pixabay
Bei einer Bank können Kunden maximal zwei Bankkonten eröffnen. Bei Bankkonten mit Dispokredit kann man, teils zu horrenden Zinssätzen, sein Konto überziehen, d.h. mehr Geld abheben oder überweisen als man besitzt.