Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m320_2024:learningunits:lu08:zweiseitigebeziehung [2024/09/12 13:13] – msuter | modul: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: | + | {{:modul:m320_2024: |
//Abb: Klassen in einer zweiseitigen Beziehung // | //Abb: Klassen in einer zweiseitigen Beziehung // | ||
Zeile 18: | Zeile 19: | ||
</ | </ | ||
+ | ==== Sequenzdiagramm ==== | ||
- | {{modul:m320: | + | {{:modul:m320_2024: |
//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: | + | <code python> |
+ | class Teacher: | ||
+ | |||
+ | def __init__(self, | ||
+ | self._name | ||
+ | self._student = None | ||
+ | |||
+ | @student.setter | ||
+ | def student(self, | ||
+ | self._student | ||
+ | student.teacher = self | ||
+ | |||
+ | class Student: | ||
+ | |||
+ | def __init__(self, | ||
+ | self._name | ||
+ | self._teacher = None | ||
+ | |||
+ | @teacher.setter | ||
+ | def teacher(self, | ||
+ | self._teacher = teacher | ||
+ | teacher.student = self | ||
+ | |||
+ | if __name__ == ' | ||
+ | mia = Teacher(' | ||
+ | cathy = Student(' | ||
+ | |||
+ | #ENTWEDER | ||
+ | mia.student = cathy | ||
+ | #ODER | ||
+ | cathy.teacher = mia | ||
+ | |||
+ | </ | ||
+ | ===== Beispiel: Lernende/r und Schulklasse ===== | ||
+ | ==== Klassendiagramm ==== | ||
+ | |||
+ | {{:modul:m320_2024: | ||
//Abb: Klassen in einer zweiseitigen Beziehung// | //Abb: Klassen in einer zweiseitigen Beziehung// | ||
Zeile 34: | Zeile 73: | ||
Dabei muss die Klasse '' | Dabei muss die Klasse '' | ||
- | {{modul: | + | ==== Sequenzdiagramm ==== |
- | //Abb: Sequenz-Diagramm der Zuweisung einer zweiseitigen Beziehung über Konstruktor// | + | {{:modul: |
- | ===== 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, | def __init__(self, | ||
self._designation = designation | self._designation = designation | ||
- | self._ref2student | + | self._student |
| | ||
@student.setter | @student.setter | ||
def student(self, | def student(self, | ||
- | self._ref2student | + | self._student |
class Student: | class Student: | ||
Zeile 61: | Zeile 96: | ||
def __init__(self, | def __init__(self, | ||
self._name = name | self._name = name | ||
- | self._ref2class | + | self._class |
the_class.student = self | the_class.student = self | ||