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.