Zum Inhalt springen

Assoziation: Unterschied zwischen den Versionen

Aus Informatik Q1 Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Assoziationen''' beschreiben die Beziehungen zwischen den Objekten der Klassen. Sie können dabei gerichtet oder ungerichtet sein.
Assoziationen beschreiben die Beziehungen zwischen den Objekten der Klassen. Sie können dabei gerichtet oder ungerichtet sein.


Bei einer '''gerichteten Assoziation''' (dargestellt mit einem Pfeil), kennt das Objekt einer Klasse das [[Objekt]] einer anderen [[Klasse]]. Nur in der Klasse, von der die Assoziation ausgeht, muss ein [[Attribut|Beziehungsattribut]] realisiert werden.
Bei einer '''gerichteten Assoziation''' (dargestellt mit einem Pfeil), kennt das Objekt einer Klasse das [[Objekt]] einer anderen [[Klasse]]. Nur in der Klasse, von der die Assoziation ausgeht, muss ein [[Attribut|Beziehungsattribut]] realisiert werden.
[[Datei:Gerichtete eins-zu-eins Assoziation.svg|ohne|mini|760x760px|Gerichtete 1:1-Assoziation: Ein Objekt der Klasse Kunde kennt ein Objekt der Klasse Konto. Von einem Konto ist aber kein Zugriff auf den Kunden möglich.]]


Bei einer '''ungerichteten Assoziation''' (dargestellt ohne Pfeile), kennen sich die Objekte der Klassen gegenseitig. In beiden Klassen müssen entsprechende [[Attribut|Beziehungsattribute]] realisiert werden.
Bei einer '''ungerichteten Assoziation''' (dargestellt ohne Pfeile), kennen sich die Objekte der Klassen gegenseitig. In beiden Klassen müssen entsprechende [[Attribut|Beziehungsattribute]] realisiert werden.
[[Datei:Ungerichtete eins-zu-eins Assoziation.svg|ohne|mini|760x760px|Ungerichtete 1:1-Assoziation. Die Objekte der Klassen Kunde und Konto können über ihre Beziehungsattribute jeweils aufeinander zugreifen.]]


Assoziationen können unterschiedliche Kardinalitäten (= Anzahlverhältnisse) aufweisen. Man unterscheidet:
Assoziationen können unterschiedliche '''Kardinalitäten''' (= Anzahlverhältnisse) aufweisen. Man unterscheidet:


* eins-zu-eins (1:1)
* eins-zu-eins (1:1)
Zeile 12: Zeile 16:


Wenn das Objekt einer Klasse eine Beziehung zu mehreren Objekten einer anderen Klasse haben soll, muss dies mit einer Datenstruktur, z. B. einem [https://ifwiki.uber.space/Array Array], realisiert werden.
Wenn das Objekt einer Klasse eine Beziehung zu mehreren Objekten einer anderen Klasse haben soll, muss dies mit einer Datenstruktur, z. B. einem [https://ifwiki.uber.space/Array Array], realisiert werden.
[[Datei:Eins-zu-n Assoziation.svg|ohne|mini|757x757px|Gerichtete 1:n-Assoziation. Ein Kunde kann mehrere Konten haben. Die Verwaltung der Konten soll hier mithilfe eines Arrays realisiert werden.]]

Aktuelle Version vom 17. Januar 2026, 09:50 Uhr

Assoziationen beschreiben die Beziehungen zwischen den Objekten der Klassen. Sie können dabei gerichtet oder ungerichtet sein.

Bei einer gerichteten Assoziation (dargestellt mit einem Pfeil), kennt das Objekt einer Klasse das Objekt einer anderen Klasse. Nur in der Klasse, von der die Assoziation ausgeht, muss ein Beziehungsattribut realisiert werden.

Gerichtete 1:1-Assoziation: Ein Objekt der Klasse Kunde kennt ein Objekt der Klasse Konto. Von einem Konto ist aber kein Zugriff auf den Kunden möglich.


Bei einer ungerichteten Assoziation (dargestellt ohne Pfeile), kennen sich die Objekte der Klassen gegenseitig. In beiden Klassen müssen entsprechende Beziehungsattribute realisiert werden.

Ungerichtete 1:1-Assoziation. Die Objekte der Klassen Kunde und Konto können über ihre Beziehungsattribute jeweils aufeinander zugreifen.


Assoziationen können unterschiedliche Kardinalitäten (= Anzahlverhältnisse) aufweisen. Man unterscheidet:

  • eins-zu-eins (1:1)
  • eins-zu-mehrere (1:*)
  • mehrere -zu-mehrere (*:*)

Wenn das Objekt einer Klasse eine Beziehung zu mehreren Objekten einer anderen Klasse haben soll, muss dies mit einer Datenstruktur, z. B. einem Array, realisiert werden.

Gerichtete 1:n-Assoziation. Ein Kunde kann mehrere Konten haben. Die Verwaltung der Konten soll hier mithilfe eines Arrays realisiert werden.