Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
modul:archiv:m320:learningunits:lu05:loesungen:lu03-aufgabe_6 [2026/08/30 14:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1modul:archiv:m320:learningunits:lu05:loesungen:lu03-aufgabe_6 [2026/08/30 14:06] (aktuell) – ↷ Seite von modul:m320:learningunits:lu05:loesungen:lu03-aufgabe_6 nach modul:archiv:m320:learningunits:lu05:loesungen:lu03-aufgabe_6 verschoben msuter
Zeile 1: Zeile 1:
 +==== Lösung 1 - einseitige Beziehung ====
 +<code python>
 +class House:
 +    '''
 +    Die Klasse gibt einzig den Typ eines Hauses zurück.
 +    '''
  
 +    def __init__(self, name):
 +        '''
 +        Legt den Typ des Hauses fest
 +        '''
 +        self._type = name
 +
 +    @property
 +    def type(self):
 +        '''
 +        Liefert den Typ des Hauses
 +        :return: Typ des Hauses
 +        '''
 +        return self._type
 +
 +class HomeOwner:
 +    '''
 +    Ein Hausbesitzer. Er wird durch seinen Namen benannt und kann den Typ seines Hauses bekannt geben
 +    '''
 +
 +    def __init__(self, name, house):
 +        '''
 +        Erzeugt ein HomeOwnerObjekt mit einem Namen und der Referenz auf sein Haus
 +        :param name: Name des Hausbesitzer
 +        :param house: Referenz zum Haus
 +        '''
 +        self._name = name
 +        self._my_house = house    # Der owner erhält die Referenz im Konstruktor geliefert und weist diese zu.
 +
 +    def print(self):
 +        '''
 +        gibt die Infos zum Hausbesitzer und seinem Haus aus.
 +        '''
 +          print(f'{self._name} besitzt ein {self._my_house.type}' # Der owner kan die Referenz nutzen.
 +
 +    @property
 +    def name(self):
 +        '''
 +        Liefert den Namen des Hausbesitzers
 +        :return: Name des Hausbesitzers
 +        '''
 +        return self._name
 +
 +if __name__ == '__main__':
 +    house = House('Landhaus')
 +    owner = HomeOwner('Ron', house)      # Dem owner wird die Referenz zum Haus mitgegeben.
 +    owner.print()
 +</code>
 +
 +----
 +[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) René Probst