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:zweiseitigebeziehung [2024/09/16 07:42] msutermodul:m320_2024:learningunits:lu08:zweiseitigebeziehung [2024/09/18 13:43] (aktuell) – [Sourcecode] msuter
Zeile 2: Zeile 2:
 Bei einer zweiseitigen Beziehung kennt ein Objekt A ein anderes Objekt B und umgekehrt.\\ Bei einer zweiseitigen Beziehung kennt ein Objekt A ein anderes Objekt B und umgekehrt.\\
  
-==== Beispiel: Lernende/r und Lehrperson ====+===== Beispiel: Lernende/r und Lehrperson ===== 
 +==== Klassendiagramm ====
  
 {{:modul:m320_2024:learningunits:lu08:klasseteacher.png?600|}} {{:modul:m320_2024:learningunits:lu08:klasseteacher.png?600|}}
Zeile 18: Zeile 19:
 </WRAP> </WRAP>
  
-{{:modul:m320_2024:learningunits:lu08:sequenzteacher.png?600|}}+==== Sequenzdiagramm ==== 
 + 
 +{{:modul:m320_2024:learningunits:lu08:sequenzteacher.png?400|}}
  
 //Abb: Sequenz-Diagramm der Zuweisung einer zweiseitigen Beziehung über Methoden // //Abb: Sequenz-Diagramm der Zuweisung einer zweiseitigen Beziehung über Methoden //
  
-==== Beispiel: Lernende/r und Schulklasse ==== +==== Sourcecode ====
-{{:modul:m320_2024:learningunits:lu08:klasseschool.png?600|}} +
- +
-//Abb: Klassen in einer zweiseitigen Beziehung// +
- +
-Ein Student wird bei der Anmeldung einer Klasse zugewiesen.  +
-Daher macht es Sinn, diese Referenz über den Konstruktor mitzuteilen.  +
-Dabei muss die Klasse ''SchoolClass'' zeitlich vorher erstellt werden, damit die Referenz verfügbar ist. +
- +
-{{:modul:m320_2024:learningunits:lu08:sequenzschool.png?600|}} +
- +
-//Abb: Sequenz-Diagramm der Zuweisung einer zweiseitigen Beziehung über Konstruktor// +
- +
-===== Code-Beispiele ===== +
- +
-Zu den oben gezeigten Beispielen, finden Sie hier den passenden Code in Python. +
 ==== Lernende/r und Lehrperson ==== ==== Lernende/r und Lehrperson ====
  
Zeile 44: Zeile 31:
 <code python> <code python>
 class Teacher:                        class Teacher:                       
- 
                                                                                                                                                                  
     def __init__(self, name):              def __init__(self, name):         
-        self._name        = name      +        self._name    = name      
-        self._ref2student = None   +        self._student = None   
          
     @student.setter         @student.setter    
     def student(self, student):               def student(self, student):          
-        self._ref2student = student                +        self._student   = student                
         student.teacher = self                 student.teacher = self        
  
Zeile 58: Zeile 44:
                  
     def __init__(self, name):                           def __init__(self, name):                      
-        self._name        = name       +        self._name    = name       
-        self._ref2teacher = None                   +        self._teacher = None                   
                  
     @teacher.setter     @teacher.setter
     def teacher(self, teacher):                          def teacher(self, teacher):                     
-        self._ref2teacher = teacher          +        self._teacher = teacher          
         teacher.student = self                   teacher.student = self          
                                                                                                                                                                                
Zeile 69: Zeile 55:
     mia   = Teacher('Mia'     mia   = Teacher('Mia'
     cathy = Student('Cathy')     cathy = Student('Cathy')
 +    
 +    #ENTWEDER
     mia.student = cathy        mia.student = cathy   
     #ODER                                            #ODER                                       
Zeile 74: Zeile 62:
  
 </code> </code>
-==== Lernende/r und Schulklasse ====+===== Beispiel: Lernende/r und Schulklasse ====
 +==== Klassendiagramm ==== 
 + 
 +{{:modul:m320_2024:learningunits:lu08:klasseschool.png?600|}} 
 + 
 +//Abb: Klassen in einer zweiseitigen Beziehung// 
 + 
 +Ein Student wird bei der Anmeldung einer Klasse zugewiesen.  
 +Daher macht es Sinn, diese Referenz über den Konstruktor mitzuteilen.  
 +Dabei muss die Klasse ''SchoolClass'' zeitlich vorher erstellt werden, damit die Referenz verfügbar ist. 
 + 
 +==== Sequenzdiagramm ==== 
 + 
 +{{:modul:m320_2024:learningunits:lu08:sequenzschool.png?400|}} 
 + 
 +//Abb: Sequenz-Diagramm der Zuweisung einer zweiseitigen Beziehung über Konstruktor//
  
 +==== Sourcecode ====
  
 <code python> <code python>
Zeile 82: Zeile 86:
     def __init__(self, designation):                                               def __init__(self, designation):                                          
         self._designation = designation                                             self._designation = designation                                    
-        self._ref2student = None                             +        self._student = None                             
      
     @student.setter     @student.setter
     def student(self, student):                                          def student(self, student):                                     
-        self._ref2student = student                           +        self._student = student                           
                                        
 class Student:                                                                 class Student:                                                                
Zeile 92: Zeile 96:
     def __init__(self, name, the_class):                                            def __init__(self, name, the_class):                                       
         self._name = name                                                                  self._name = name                                                         
-        self._ref2class = the_class                                               +        self._class = the_class                                               
         the_class.student = self                                                                                                   the_class.student = self                                                                                          
                                                                                                                                                                                    
  • modul/m320_2024/learningunits/lu08/zweiseitigebeziehung.1726465342.txt.gz
  • Zuletzt geändert: 2024/09/16 07:42
  • von msuter