Aufgabe 4 - Polymorphie am Beispiel Taschenrechner
Ziel
Sie können eine bestehende OO-Anwendung erweitern.
Auftrag
Der von Ihnen erstellt Rechner soll neben den 4 Grundoperationen auch noch die Exponentialfunktion anbieten.
Als Operationszeichen dient das Zeichen ^
.
Vorgehen
Verwenden Sie als Basis das Projekt aus Aufgabe LU07-3. Erstellen Sie einen neuen Branch mit Namen exposer. Erstellen Sie nun in diesem Branch Ihre Lösung.
- Studieren Sie das Klassendiagramm der Klasse
Tokenizer
. Wie können Sie - ohne deren Code zu verändern - weitere Operationszeichen zufügen? Passen Sie entsprechend Ihren Code an. - Erstellen Sie die neue Klasse
Exposer
. Suchen Sie im Internet nach einer Lösung, wie Sie in Python eine Potenz berechnen können. - Ergänzen Sie den Code, so dass die Operation
^
auch erkannt und die entsprechende Klasse instanziiert wird. - Testen Sie Ihre Anwendung. Die Eingabe 2^6 müsste 64 ergeben.
Abgabe
Keine.
Zu Polymorphie
Sie haben hier und jetzt gesehen, wie kräftig das Konstrukt der Polymorphie bei OO sein kann. Es bedarf aber einer guten Planung der Klassen und deren Methoden, damit Polymorphie auch wirklich genutzt werden kann. Diesen Teil - das OOD (object oriented design) - werden Sie im Rahmen des Schulunterrichts leider nicht erlernen.
Darum ist es wichitg, dass Sie die gewonnenen Erkenntisse mit auf Ihren beruflichen Weg nehmen und bei Gelegenheit sich weiteres Wissen rundum OO - so z.B. auch den Umgang mit Design Pattern - im Selbststudium aneignen.