Fortgeschrittene objektorientierte Programmierung
LVA 185.211, VL 2.0, 2006 S
CAT calls.
estudiowird EiffelStudio gestartet. Diese Software stellt Ihnen alle Funktionen zur Verfügung, die Sie zur Lösung der Aufgabe brauchen (und noch viel mehr). Sowohl zu EiffelStudio als auch zu Eiffel selbst finden Sie umfangreiche online Dokumentation.
Es gibt eine etwas abgespeckte frei verfügbare Version von Eiffel-Studio, die Sie auf Ihrem eigenen Rechner installieren können. Für die Übung ist diese freie Version vollkommen ausreichend.
Schreiben Sie ein Programm zur Verwaltung von Konten. Jedes Konto verfügt über Angaben zu den Zeichnungsberechtigten, einen Kreditrahmen (bei dessen Überschreitung die Bank in der Regel keine weitere Überziehung zulässt), je einen Prozentsatz für die Sollverzinsung (Zinsen für den Betrag, um den das Konto überzogen ist) und Habenverzinsung (Zinsen für das Guthaben am Konto) und den aktuellen Betrag am Konto. Es sollen Operationen für Bareinzahlungen, Barauszahlungen, Überweisungen zwischen Konten sowie Abfragen und Änderungen der zu den Konten gespeicherten Daten (ausgenommen Änderungen des Guthabens) unterstützt werden.
Auf Konten sollen zumindest folgende Zusicherungen gelten: Die Verzinsung und der Kreditrahmen sollen stets innerhalb der vom Kreditinstitut vorgegebenen Grenzen bleiben. Es gibt einen Mindestbetrag von 5 Euro für jede Einzahlung, Auszahlung und Überweisung.
Entwickeln Sie zwei Untertypen des Kontos: Ein Studentenkonto und ein
Pensionskonto. Diese Arten von Konten sollen jeweils nur einen
Zeichnungsberechtigten haben, der Student bzw. Pensionist ist.
Überprüfen Sie, ob die Zeichnungsberechtigten tatsächlich die
richtigen Typen haben, wobei Student
und Pensionist
Untertypen
von Person
sind. Studenten- und Pensionskonten sollen folgende
Unterschiede zu normalen Konten aufweisen: Für Verzinsungen und
Kreditrahmen gelten engere Grenzen als bei normalen Konten, dafür gelten
niedrigere Mindestbeträge für Einzahlungen, Auszahlungen und
Überweisungen (1 Euro). Überlegen Sie sich weitere Zusicherungen,
die die Möglichkeiten und vor allem Grenzen von Zusicherungen in Eiffel
demonstrieren.
Schreiben Sie ein einfaches Programm zum Testen der Konten (interaktiv oder
auch nicht), das die Einschränkungen von CAT calls
auslotet.
Achten Sie generell auf ein sinnvolles Sichtbarmachen von features
in
anderen Programmteilen.