Projekt - Implementierung
Erweiterung - Speicherformate
Wir gehen von folgendem objektorientierten Datenmodell aus:
Dabei soll folgendes Datenformat zur externen Speicherung von Daten benutzt werden:
<?xml version="1.0" encoding="iso-8859-1"?>
<kartenstapel>
<karte>
<stichwort>
dog
</stichwort>
<erläuterung>
Hund
</erläuterung>
</karte>
<karte>
<stichwort>
cat
</stichwort>
<erläuterung>
Katze
</erläuterung>
</karte>
</kartenstapel>
Aufgabe 1: Implementierung der Methoden
Implementiere die Methode kartenstapelToString.
Aufgabe 2: Implementierung der Methoden
Analysiere die folgende Implementierung der Methode stringToKartenstapel.
def stringToKartenstapel(self, quelltext):
stringliste = quelltext.splitlines()
self.karten = []
i = 2
while stringliste[i] == '':
stichwort = stringliste[i+2]
erlaeuterung = stringliste[i+5]
self.karten = self.karten + [Karte(stichwort, erlaeuterung)]
i = i + 8
Informiere dich, was die Operation splitlines bewirkt.
Erkläre anhand des oben gezeigten Beispiels die Arbeitsweise der Methode.
Zusatzaufgabe: Gibt es Fälle, in denen die Methode stringToKartenstapel nach der gezeigten
Implementierung nicht korrekt arbeitet?
Erweiterung - Abfragemodus
Die grafische Benutzeroberfläche soll das im letzten Abschnitt beschriebene Verhalten haben.
Aufgabe 3: Implementierung der grafischen Benutzeroberfläche
Erweitere die Implementierung der Klasse GUILernkartei
in der gewünschten Weise.