私は小さな計算機アプリケーションを作って、OOPSの概念を学ぼうとしています。私はthis talkを見た。 多態性を使用してswitch文を回避する方法を示します。正しい子クラスインスタンスを取得するスイッチケースなし
私のアプリには4つのオペレータボタンがあります(+
、-
、/
、*
)。私は演算子とオペランドに2つのスタックを使用しています ユーザーが任意のボタンのオペランドまたは演算子をタップすると、現在の式にインフィックスツリーを作成し、演算子を演算子スタックに保持しようとします。 ユーザーが「計算」を押すと、演算子スタックを通過し、演算子の優先順位に基づいて挿入記号ツリーを調整します。
は、私は、ValueNode
抽象Node
クラスを持っている - >Node
を、抽象operatorNode、た。AddNode - > operatorNode、SubtractNode
- >OperatorNode
のように。
私のコードは、上記の説明が不明な場合は、次のリンクから派生しています:
私の問題は、スイッチを使用せずにスタックから演算子charに基づいて正しい子クラスオブジェクトを作成するにはどうすればいいですか?
だから、どのように行う指定されたchar(+
または-
または*
または/
は)私はスイッチを使用せずにAddNode
またはSubtractNode
を作成します。
コードを記述するのではなく、投稿してください。あなたを理解して助けが簡単になります。 – Guy