LU12.A01 - Polymorphie am Beispiel Taschenrechner
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 calculator.
- 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 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 wichtig, dass Sie die gewonnenen Erkenntnisse 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.