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:lu09:mehrfachbeziehung [2024/09/23 08:56] msutermodul:m320_2024:learningunits:lu09:mehrfachbeziehung [2024/09/23 09:11] (aktuell) msuter
Zeile 10: Zeile 10:
 //Abb: 1:n Beziehung// //Abb: 1:n Beziehung//
  
-{{:modul:m320_2024:learningunits:lu09:klasseholiday.png?600|}} 
- 
-//Abb: n:n Beziehung// 
  
 === Kardinalität === === Kardinalität ===
Zeile 26: Zeile 23:
 Der Stern steht für **0 bis unendliche viele** Beziehungen. Der Stern steht für **0 bis unendliche viele** Beziehungen.
 In der UML ist es aber auch möglich, die Kardinalität ganz genau zu spezifizieren.  In der UML ist es aber auch möglich, die Kardinalität ganz genau zu spezifizieren. 
-So ist in der Abbildung 5.9 klar erkennbar, dass eine Schulklasse mindesten 15 aber maximal 24 Studenten haben kann.+So ist in der Abbildung klar erkennbar, dass eine Schulklasse mindesten 15 aber maximal 24 Studenten haben kann.
  
 ===== Umsetzung in Python ===== ===== Umsetzung in Python =====
Zeile 42: Zeile 39:
   def __init__(self, designation):   def __init__(self, designation):
    self._designation = designation    self._designation = designation
-   self._students = []  # hier wird eine leere Liste bereitgestellt, die dann die Refeenzen der Lernenden hält.+   self._students = []  # hier wird eine leere Liste bereitgestellt, die dann die Referenzen der Lernenden hält.
      
   def add_student(a_student):   def add_student(a_student):
Zeile 77: Zeile 74:
  
 <code python> <code python>
-def take_student(self, index=None, name=None):+def take_student(self, index=None, key=None):
   if index is not None:   # Index wurde angegeben   if index is not None:   # Index wurde angegeben
     if index < len(self._students):     if index < len(self._students):
Zeile 85: Zeile 82:
   else:   # kein Index angegeben, wir suchen nach dem Namen   else:   # kein Index angegeben, wir suchen nach dem Namen
     for student in self._students:  # Loop über alle student-objekte     for student in self._students:  # Loop über alle student-objekte
-      if student.name == name:+      if student.name == key:
         return student         return student
     return None     return None
Zeile 98: Zeile 95:
  
 <code python> <code python>
-def remove_student(self, index=None, name=None):+def remove_student(self, index=None, key=None):
   if index is not None:   # Index wurde angegeben   if index is not None:   # Index wurde angegeben
     if index < len(self._students):     if index < len(self._students):
Zeile 106: Zeile 103:
   else:   # kein Index angegeben, wir suchen nach dem Namen   else:   # kein Index angegeben, wir suchen nach dem Namen
     for idx, student in enumerate(self._students):  # Loop über alle student-objekte     for idx, student in enumerate(self._students):  # Loop über alle student-objekte
-      if student.name == name:+      if student.name == key:
         self._students.remove(idx)         self._students.remove(idx)
 </code> </code>
  
 +<WRAP center round tip 60%>
 +Je nach Entwurf der Applikation können die **take**- und **remove**-Methoden auch nur einen der Parameter ''index'' bzw. ''key'' anbieten.
 +</WRAP>
  
 ---- ----
  • modul/m320_2024/learningunits/lu09/mehrfachbeziehung.1727074603.txt.gz
  • Zuletzt geändert: 2024/09/23 08:56
  • von msuter