TDDで電卓アプリを実装する日記#7

はじめに

淡々と実装していくだけになってきたから、もうそろそろはじめにも要らなくなってた気がする。

今回の実装範囲

今回実装するToDoリストは以下の通り
・一度=を押して出した数値は書き換えることができなくする
・クリアキー(C,CE)の追加

計算結果のロック

これは比較的簡単。実装に必要なのは、「ValueKeySequenceとして使える、新しく数値入力が来たらその数値だけを返すクラス」なので、ValueKeySequenceを継承し、上記の処理だけ書き換えたクラスを追加すればよい。

具体的に言うとこのようなクラス。計算結果を格納する処理のコンストラクタをLockedSequenceに変更すれば完了。

クリアキー

こちらはいまいち上手な実装方法が見つからなかった。とりあえず「演算子」でも「数値」でもないため、ClearKeyを新しく実装しよう。

ただ、「消去」の行動はキーではなく式が行うため、キー自体はなにか役割を持つことはできなさそうだった。(なにか良い実装がないかな。)
結局、割と安易な実装になった

ここまでの実装

今回の実装はここまで。全体像はこんな感じ。

あとは正負反転させるぐらいで電卓として最低限の機能を持てそうだ。

この記事が気に入ったらサポートをしてみませんか?