====== LU04.A01 - Parametrisierte Konstruktoren ======
TODO SuMa: print durch _''''_str_''''_ ersetzen.
TODO SuMa: ''type'' durch biketype ersetzen.
==== Ziel ====
Sie können eine Klasse gemäss UML-Diagramm mit parametrisiertem Konstruktor implementieren.
==== Auftrag 1 ====
Gegeben ist das folgende Klassendiagramm
{{:modul:m320_2024:learningunits:lu04:aufgaben:uml_bicycle.png?400|}}
- Akzeptieren Sie das Assignment im GitHub Classroom und klonen Sie Ihr Repository in die Entwicklungsumgebung.
- Codieren Sie alle setter und getter; die im Diagramm mit //set_methodename// vermerkten Methoden implementieren Sie bitte als "Property" mit den Annotationen ''@property'' und ''@methodename.setter''!\\ Implementieren Sie die Klasse nach den Regeln des TDD!\\ - Zuerst den Konstruktor und diesen dann testen.\\ - Dann der Reihe nach die setter und getter eines Attributs (z.B. ''size'') und jedes Paar testen.\\ So ist sichergestellt, dass diese Grundfunktionen einwandfrei implementiert sind.
- Implementieren Sie nun die ''print''-Methode. Halten Sie sich an die Darstellung der Aufgabenstellung.\\ Hinweis: \\ · Seitenumbruch kann mit ''\n'' und Tabulator mit ''\t'' innerhalb der Zeichenkette implementiert werden (z.B. '\tFarbe:' bwirkt einen Tab vor dem Text)
- Implementieren Sie zuletzt die ''main'' Methode. Instanzieren Sie der Reihe nach 3 Fahrräder mit den entsprechenden Parametern. Nutzen Sie dabei das Wissen über parametrierte Konstruktoren und Default-Werte.\\
- Führen Sie einen Commit und einen Push durch.
{{:modul:m320:learningunits:lu02:aufgaben:lu02-aug3-output.png?300|}}
===== Auftrag 2 =====
Passen Sie den Code so an, dass das Citybike die Farbe rot (red) aufweist.
Dabei dürfen Sie aber nur in der ''main''-Methode Hand anlegen. Konstruktoren oder Methoden dürfen nicht zugefügt oder geändert werden!
===== Dauer =====
30 Minuten inkl. Testen.
===== Abgabe =====
Die Abgabe erfolgt mittels Push in das GitHub Repository.
In Moodle ist keine Abgabe möglich.
----
//=> GitHub Repo für externe Besucher//
GitHub Repository https://github.com/templates-python/m320-lu04-a01-constructor
//Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden//
{{tag>M320-LU04}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] René Probst, bearbeitet durch Marcel Suter