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/12 13:13] 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:learningunits:lu04:theorie:lu03-abb3.10_beziehung-3.png?600}}+{{:modul:m320_2024:learningunits:lu08:klasseteacher.png?600|}}
  
 //Abb: Klassen in einer zweiseitigen Beziehung // //Abb: Klassen in einer zweiseitigen Beziehung //
Zeile 18: Zeile 19:
 </WRAP> </WRAP>
  
 +==== Sequenzdiagramm ====
  
-{{modul:m320:learningunits:lu04:theorie:lu03-abb3.11_sequenz-3.png?350}}+{{: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 //
  
-----+==== Sourcecode ==== 
 +==== Lernende/r und Lehrperson ====
  
-==== Beispiel: Lernende/r und Schulklasse ==== + 
-{{modul:m320:learningunits:lu04:theorie:lu03-abb3.12_beziehung-4.png?600}}+<code python> 
 +class Teacher:                        
 +                                                                                 
 +    def __init__(self, name):          
 +        self._name    = name      
 +        self._student = None    
 +     
 +    @student.setter     
 +    def student(self, student):           
 +        self._student   = student                 
 +        student.teacher = self         
 + 
 +class Student:            
 +         
 +    def __init__(self, name):                       
 +        self._name    = name       
 +        self._teacher = None                    
 +         
 +    @teacher.setter 
 +    def teacher(self, teacher):                      
 +        self._teacher = teacher           
 +        teacher.student = self           
 +                                                                                        
 +if __name__ == '__main__':      
 +    mia   = Teacher('Mia')  
 +    cathy = Student('Cathy'
 +     
 +    #ENTWEDER 
 +    mia.student = cathy    
 +    #ODER                                        
 +    cathy.teacher = mia             
 + 
 +</code> 
 +===== Beispiel: Lernende/r und Schulklasse ====
 +==== Klassendiagramm ==== 
 + 
 +{{:modul:m320_2024:learningunits:lu08:klasseschool.png?600|}}
  
 //Abb: Klassen in einer zweiseitigen Beziehung// //Abb: Klassen in einer zweiseitigen Beziehung//
Zeile 34: Zeile 73:
 Dabei muss die Klasse ''SchoolClass'' zeitlich vorher erstellt werden, damit die Referenz verfügbar ist. Dabei muss die Klasse ''SchoolClass'' zeitlich vorher erstellt werden, damit die Referenz verfügbar ist.
  
-{{modul:m320:learningunits:lu04:theorie:lu03-abb3.13_sequenz-4.png?350}}+==== Sequenzdiagramm ====
  
-//AbbSequenz-Diagramm der Zuweisung einer zweiseitigen Beziehung über Konstruktor//+{{:modul:m320_2024:learningunits:lu08:sequenzschool.png?400|}}
  
-===== Code-Beispiele ===== +//Abb: Sequenz-Diagramm der Zuweisung einer zweiseitigen Beziehung über Konstruktor//
- +
-Zu den oben gezeigten Beispielen, finden Sie hier den passenden Code in Python. +
- +
- +
-==== Lernende/r und Schulklasse ====+
  
 +==== Sourcecode ====
  
 <code python> <code python>
Zeile 51: 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 61: 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.1726139605.txt.gz
  • Zuletzt geändert: 2024/09/12 13:13
  • von msuter