AS3-Tutorium: Flash: Calculator 01 integer
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:
| Korrektheit: 4 (großteils überprüft) |
Umfang: 1 (zu gering) |
Quellenangaben: 5 (vollständig vorhanden) |
Quellenarten: 5 (ausgezeichnet) |
Konformität: 5 (ausgezeichnet) |
AS3-Tutorium: Calculator: Flash | Flex
Flash: Übersicht | Teil 1 | Teil 2
Taschenrechner
In diesem Teil des Tutoriums wird beschrieben, wie ein einfacher Taschenrechner implementiert werden kann. Dieser kann nur Interzahlen verarbeiten. Auf Komma- und Exponential-Darstellungen wird ebenso verzichtet, wie auf ein Fehlerbehandlung dei Division durch Null.
<swf width="300" height="420">http://glossar.hs-augsburg.de/beispiel/tutorium/flash_cs5/calculator/calculator_01_integer/Calculator01Flash11.swf</swf> Musterlösung (SVN-Repository)
Datenmodell
Im Folgenden wird ein Klassendiagramm beschrieben, dass die Implementierung des obigen Taschenrechners gemäß dem LDVCS-Paradigmas ermöglicht.
Medium:AS3-Tutorium Calculator 01 Flash Class Diagram.jpg
Aus folgenden Komponenten besteht der Taschenrechner:
ViewCalculator- Die View-Komponente enthält ein Panel bestehnd aus Digitalziffern (ein Vorzeichen-Element und acht Sieben-Segment-Elemente) zum Darstellen des Rechenergebnisses. Außerdem enthält sie 16 Tasten zur eingabe von Ziffern und Operatoren.
ControllerCalculator- Der Controller bietet eine Methode
keyClick, die von der View aufgerufen wird, sobald eine Taste gedrückt wird. Dieser Methode wird im Parameterp_valueübergeben, welche Taste gedrückt wurde:0, ..., 9, "C", "=", "+", "-", "×", "÷". Der Controller überfügt über zwei Attribute, die bei Programmstart initialisiert werden:keyInputenthält das Stage-Objekt, um auf Tastatur-Ereignisse direkt zugreifen zu können. Damit kann der Taschenrechner auch über die Tastatur gesteuert werden.logicenthält die Logik-Komponente der Anwendung. Die Aufgabe des Controllers ist es, die Methoden dieser Komponenten abhängig von der Benutzer-Eingabe aufzurufen.
LogicCalculator- Aufgabe der Logik-Komponente ist es, abhängig von der Benutzeraktion
- Drücken einer Ziffer:
addDigit - Drücken einer Operatortaste:
addOperator - Drücken der Clear-Taste:
clear)
- Drücken einer Ziffer:
- ein neues Ergebnis zu berechnen und diese im Data-Objekt zu speichern. Das Data-Objekt wird bei Programmstart initialisiert.
DataCalculator- Das Daten-Objekt enthält alle Daten die von der View visualisiert werden können:
value: Die Zahl, die aktuell erfasst wird bzw, das Ergebnis, nachdem eine mathematische Operation ausgeführt wurde.operator: Der Operator, der als nächstes angewendet werden soll (wenn die aktuelle Zahl vollständig eingegeben wurde).oldValue: Die letzte Zahl, die erfasst bzw. gerechnet wurde. Diese wird mit der aktuellen Zahl (mit Hilfe des zuvor eingegebenen Operators) verknüpft, sobald der nächste Operator ("=", "+", "-", "×", "÷") gedrückt wird.
- Im obigen Beispiel wird allerdings nur der Wert des Atributes
valuevisualisiert.
Jede der im Diagramm angegebenen Klassen hat genau eine Aufgabe (vgl. Programmierprinzip „Separation of concerns“):
LEDSignDigitPanelKeyViewCalculatorControllerCalculatorLogicCalculatorDataCalculatorCalculator01Flash11EnumKey
Mealy-Automat
Medium:AS3-Tutorium Calculator 01 Mealy Machine.jpg
