私は銀行口座をシミュレートするはずのプログラムに取り組んでいます。私は "投資"と呼ばれる私の基底クラスと "Stock"と "MutualFund"という2つのサブクラスを持ち、基底クラス "投資"に関連した "CustomerAccount"というクラスも持っています。 クラスの関連付け
CustomerAccountクラスをInvestmentクラスに関連付ける方法がわかりません。
私は銀行口座をシミュレートするはずのプログラムに取り組んでいます。私は "投資"と呼ばれる私の基底クラスと "Stock"と "MutualFund"という2つのサブクラスを持ち、基底クラス "投資"に関連した "CustomerAccount"というクラスも持っています。 クラスの関連付け
CustomerAccountクラスをInvestmentクラスに関連付ける方法がわかりません。
アカウントにはAddStock
とAddMutualFund
があるのではなく、ちょうどAddInvestment
である必要があります。これはその後、株式または発明のいずれかを追加するために使用されます。すべての株式やミューチュアルファンドを受け取るのではなく、すべてInvestment
になります。
'List
@ jb。 OPは彼がその後削除した別のスレッドを投稿した。その中で彼は既に 'List
CustomerAccountクラスには、InvestmentとのCanHave関係があります。
CustomerAccountクラスでは、投資のコレクションを作成します。リストを使用してこれを達成することができます。
List<Investment> _investments;
コンストラクタでリストを初期化することを忘れないでください。
_investments = new List<Investment>();
編集:
リストをループ:
foreach Investment invst in _investments
{
if (invst.GetType() == typeof(Stock)) { }
else if (invst.GetType() == typeof(MutualFund)) { }
}
さて、私はそれを行う方法を理解しています。それは私がしなくてはならないことですか? –
なぜなら、あなたがUMLから1分ほど前に戻って現実世界を考えれば、人々は複数の投資をすることができるからです。それらを追跡する1つの方法は、投資のリストを保持することです。投資を個別にトラッキングする場合は、各サブクラスタイプのリストを作成することができます。それは少し簡単かもしれません。なぜなら、投資のリストを反復する場合、投資のタイプを決定し、それをそのタイプにキャストして、サブクラス固有のプロパティとデータにアクセスできるようにする必要があるからです要素。 – darin
私はそれがUMLだと仮定? –
これはC#とどのように関連していますか? – Msonic
@james: 'CustomerAccount'は' Investment'sのリストを持っています。 –