Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m320_2024:learningunits:lu08:einseitigebeziehung [2024/09/12 13:20] – [Geldbeutel und Besitzer] msutermodul:m320_2024:learningunits:lu08:einseitigebeziehung [2024/09/18 13:12] (aktuell) msuter
Zeile 4: Zeile 4:
   * einseitge Beziehungen   * einseitge Beziehungen
   * zweiseitige Beziehungen   * zweiseitige Beziehungen
- 
-=====  Einseitige Beziehung ===== 
  
 Bei einer einseitigen Beziehung kennt ein Objekt "A" ein anderes Objekt "B" aber nicht umgekehrt.\\ Bei einer einseitigen Beziehung kennt ein Objekt "A" ein anderes Objekt "B" aber nicht umgekehrt.\\
  
-==== Beispiel: Geldbeutel und Besitzer ====+===== Beispiel: Geldbeutel und Besitzer ===== 
 +==== Klassendiagramm ====
  
-{{:modul:m320_2024:learningunits:lu08:klassewallet.png?400|}}+{{:modul:m320_2024:learningunits:lu08:klassewallet.png?600|}}
  
 //Abb: Klassen in einer einseitigen Beziehung// //Abb: Klassen in einer einseitigen Beziehung//
Zeile 18: Zeile 17:
 Daher wird hier die Referenz über eine Methode gesetzt.  Daher wird hier die Referenz über eine Methode gesetzt. 
 So sind die Erzeugung des Personen-Objekts und die Zuweisung der Referenz zeitlich unabhängig. So sind die Erzeugung des Personen-Objekts und die Zuweisung der Referenz zeitlich unabhängig.
 +
 +==== Sequenzdiagramm ====
  
 Dies zeigt das zugehörige Sequenz-Diagramm eindeutig auf. Dies zeigt das zugehörige Sequenz-Diagramm eindeutig auf.
  
-{{:modul:m320_2024:learningunits:lu08:sequenzwallet.png?400|}}+{{:modul:m320_2024:learningunits:lu08:sequenzwallet.png?600|}}
  
 //Abb: Sequenz-Diagramm der Zuweisung einer einseitigen Beziehung über eine Methode // //Abb: Sequenz-Diagramm der Zuweisung einer einseitigen Beziehung über eine Methode //
  
-==== Beispiel: Stromschalter und Wippe (Aktuator) ==== +==== Sourcecode ====
- +
-{{:modul:m320_2024:learningunits:lu08:klassepower.png?400|}} +
- +
-//Abb: Klassen in einer einseitigen Beziehung// +
- +
-Ein Stromschalter braucht immer eine Wippe, sonst kann er ja nicht benutzt werden.  +
-Daher muss sichergestellt sein, dass mit der Erzeugung des Stromschalter-Objektes auch die Referenz zu einer Wippe gesetzt wird.  +
-Es ist also wichtig, dass die Referenz mit dem Konstruktor geliefert wird.  +
-In diesem Fall ist es zwingend, dass die Wippe zeitlich zuerst erzeugt wird, so dass ihre Referenz verfügbar ist. +
- +
-{{:modul:m320_2024:learningunits:lu08:sequenzpower.png?400|}} +
- +
-//Abb: Sequenz-Diagramm der Zuweisung einer einseitigen Beziehung über den Konstruktor// +
- +
-===== Programmcode ===== +
-Zu den beiden Beispielen finden Sie hier die Umsetzung in Python. +
- +
-==== Geldbeutel und Besitzer ====+
 <code python> <code python>
 class Person:                                                 class Person:                                                
Zeile 81: Zeile 64:
 </code> </code>
  
 +===== Beispiel: Stromschalter und Wippe (Aktuator) =====
 +==== Klassendiagramm ====
  
-==== Stromschalter und Wippe ====+{{:modul:m320_2024:learningunits:lu08:klassepower.png?600|}} 
 + 
 +//Abb: Klassen in einer einseitigen Beziehung// 
 + 
 +Ein Stromschalter braucht immer eine Wippe, sonst kann er ja nicht benutzt werden.  
 +Daher muss sichergestellt sein, dass mit der Erzeugung des Stromschalter-Objektes auch die Referenz zu einer Wippe gesetzt wird.  
 +Es ist also wichtig, dass die Referenz mit dem Konstruktor geliefert wird.  
 +In diesem Fall ist es zwingend, dass die Wippe zeitlich zuerst erzeugt wird, so dass ihre Referenz verfügbar ist. 
 + 
 +==== Sequenzdiagramm ==== 
 + 
 +{{:modul:m320_2024:learningunits:lu08:sequenzpower.png?600|}} 
 + 
 +//Abb: Sequenz-Diagramm der Zuweisung einer einseitigen Beziehung über den Konstruktor//
  
 +==== Sourcecode ====
  
 <code python> <code python>
 class PowerSwitch:     class PowerSwitch:    
  
-    def __init__(self, type, seesaw):  +    def __init__(self, type, actuator):  
         self._type   = type              self._type   = type     
         self._actuator = actuator         self._actuator = actuator
  • modul/m320_2024/learningunits/lu08/einseitigebeziehung.1726140047.txt.gz
  • Zuletzt geändert: 2024/09/12 13:20
  • von msuter