Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
talit:tutorial_oop3 [2025-04-26 20:13] – hof | talit:tutorial_oop3 [2025-04-26 20:29] (aktuell) – [Klassen und Objekte] hof | ||
---|---|---|---|
Zeile 65: | Zeile 65: | ||
unit.print_stats() | unit.print_stats() | ||
</ | </ | ||
- | |||
## Klassen und Objekte | ## Klassen und Objekte | ||
Genau das erreichen wir mit der **objekt-orientierten Programmierung**. Du hast bereits sehr oft Objekte benutzt, zum Beispiel Strings oder Listen. Ein Objekt gruppiert Attribute (en. _attributes_) und Methoden (Funktionen, | Genau das erreichen wir mit der **objekt-orientierten Programmierung**. Du hast bereits sehr oft Objekte benutzt, zum Beispiel Strings oder Listen. Ein Objekt gruppiert Attribute (en. _attributes_) und Methoden (Funktionen, | ||
Zeile 80: | Zeile 79: | ||
def __init__(self, | def __init__(self, | ||
""" | """ | ||
- | self.word1 = word1 | + | self.word1 = word1 # All objects of class WordPair share the same attributes |
- | self.word2 = word2 | + | self.word2 = word2 # but not necessarily the same contents. |
| | ||
- | def reverse(self): | + | def reversed(self): |
- | """ | + | """ |
return WordPair(self.word2, | return WordPair(self.word2, | ||
tree = WordPair(' | tree = WordPair(' | ||
- | flower = WordPair('Blume', | + | |
+ | print(f'{tree.word1} translates to {tree.word2}' | ||
</ | </ | ||
+ | |||
+ | ### Aufgabe A | ||
+ | * Erstelle ein neues github-Repository `ksr_talit_vocabulary` und clone es lokal in VS Code. | ||
+ | * Teile es mit `tkilla77` und `anschae`. | ||
+ | * Füge das `.gitignore` für Python hinzu (von [[https:// | ||
+ | |||
+ | Erstelle eine neue Python-Datei `voci.py` und erstelle deine erste Klasse `WordPair` wie oben und zeige sie der Lehrperson. Achte auf: | ||
+ | * Coding-Conventions: | ||
+ | * Klassennamen in CamelCase | ||
+ | * Methoden und Attribute in lower_case_with_underscores() | ||
+ | * Dokumentation mit `""" | ||
+ | |||
+ | Wir möchten zusätzlich eine Klasse `VocabularyUnit` haben, die eine Liste von `WordPairs` speichert. | ||
+ | |||
+ | Als drittes benötigen wir eine Klasse `ConsoleLearner` mit einer Methode `learn(unit)`, | ||
+ | * um das Terminal zu leeren kannst du `print(" | ||
+ | * um die Zeile im Terminal zu löschen, verwendest du `print(" | ||
+ | * mehr dazu auf [[wp> | ||
+ | |||
+ |