Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
modul:archiv:m320:learningunits:lu02:loesungen:lu2-aufgabe_3 [2026/08/30 14:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1modul:archiv:m320:learningunits:lu02:loesungen:lu2-aufgabe_3 [2026/08/30 14:06] (aktuell) – ↷ Seite von modul:m320:learningunits:lu02:loesungen:lu2-aufgabe_3 nach modul:archiv:m320:learningunits:lu02:loesungen:lu2-aufgabe_3 verschoben msuter
Zeile 1: Zeile 1:
 +===== Lösung 3 - Parametrisierte Konstruktoren ====
 +<code python>
 +class Bicycle:
 +    '''
 +    Definiert ein Fahrrad mit einigen wenigen Attributen und Methoden.
 +    '''
  
 +    def __init__(self, type='mountainbike', size=48):
 +        '''
 +        Konstruktor initialisiert das Objekt mit 2 Parameterwerten.
 +        '''
 +        self._type  = type
 +        self._size  = size
 +        self._color = 'gray'
 +
 +    @property
 +    def type(self):
 +        '''
 +        Liefert den Typ des Fahrrads
 +        '''
 +        return self._type
 +
 +    @property
 +    def size(self):
 +        '''
 +        Liefert die Grösse des Fahrrads
 +        '''
 +        return self._size
 +
 +    @property
 +    def color(self):
 +        '''
 +        Liefert die Farbe des Fahrrads
 +        '''
 +        return self._color
 +
 +    @type.setter
 +    def type(self, type):
 +        '''
 +        Legt den Typ des Fahrrads fest
 +        '''
 +        self._type = type
 +
 +    @size.setter
 +    def size(self, size):
 +        '''
 +        Legt die Grösse des Fahrrads fest
 +        '''
 +        self._size = size
 +
 +    @color.setter
 +    def color(self, color):
 +        '''
 +        Legt die Farbe des Fahrrads fest
 +        '''
 +        self._color = color
 +
 +    def print(self):
 +        print(f'Fahrrad:\n\tArt:            {self._type}\n\tRahmengrösse:   {self._size}\n\tFarbe:          {self._color}')
 +
 +
 +if __name__ == "__main__":
 +    # Aufgabe 1
 +    bicycle = Bicycle()
 +    bicycle.print()
 +    #
 +    bicycle = Bicycle(type = 'racebike')
 +    bicycle.print()
 +    #
 +    bicycle = Bicycle(type = 'citybike', size = '42')
 +    bicycle.print()
 +    #
 +    # Aufgabe 2
 +    #
 +    bicycle.color='red'
 +    bicycle.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