0

銀行システムのアイデアの助けを探しています。

これは大学のためのものであり、教師は次のような厄介な制限を課しています。

  • コンソール、C# でプログラムを作成します。
  • オブジェクト指向の基礎を使用する (クラス、継承、カプセル化、ポリモーフィズム)
  • 教室で取り上げられていないものは使用しないでください。これまでに取り上げたものは、サイクル、条件、配列 (単純なもののみ)、クラス、継承、カプセル化、クラス オブジェクト、ポリモーフィズム、メソッド、コンストラクターです。リスト、プロパティ (Get、Set)、foreach ループ、作業のない関数などは許可されません。

これらすべての eemm で、「煩わしい」制限を残しましょう。これを達成する必要があります。

ユーザーのアカウントをシミュレートする銀行システムで、ユーザーごとに退職金と預金金の機能を備えています。次の 5 つのクラスと、それぞれのフィールドを使用して実行する必要があります。

クラス PersonalData:

    string userCode;
    string userIdentification;
    string INSSNumber;
    string userName;
    string userLastName;
    int    age;
    string address;
    string phone;

クラス アカウント:

    string accountNumber;
    string accountType;
    string accountOpenDate;

クラスデポジット:

 string dateDeposit;
 double depositTotal;
 double interest;

クラスの引退:

 string dateRetire;
 double retireTotal;
 double interest;

クラス FinancieryState

 double interest;
 double accountTotal;

継承はすべてのクラスに適用する必要があります。クラスが継承を使用していない場合、それは有効ではありません。

Retire and Deposit クラスには 2 つの利率計算メソッドがあります。1 つはすべての預金 (またはリタイア) の総利子を知るためのもので、もう 1 つは FincieryState クラスを呼び出してその利子フィールドを成長させるものです。これは、ポリモーフィズムを使用して行う必要があります。

わかりました、基本的にはこれらがすべての要件です。いくつかの要件が欠けている可能性があります。覚えている限り、それらを書きます。

私がこれまでに行ったこと:

PersonalData を「スーパー ペアレント」クラスにします。アカウントは PersonalData から継承します。FinancialState は Account から継承します。Deposit は FinancieryState を継承しています。FinancieryState からの継承を廃止します。

各クラスにそれぞれのメソッドとコンストラクターを入力して、フィールドを入力し、数値を更新/計算します。

特定のクライアントの入金、クライアントのアカウントの状態の表示などのメニューのメイン エントリ。

ここで、新しいユーザーのすべてのデータを、任意の型の 1 つのオブジェクトに格納する必要があります。

最後に、質問:

ユーザーに単一のオブジェクトを提供し、その預金と退職情報を表示し、ポリモーフィズム部分をこれら 2 つのクラスに適用し、FinancieryState クラスの accountTotal フィールドを計算できるようにするにはどうすればよいですか?デポジットクラスとリタイアクラスによって提供される情報?

4

1 に答える 1

0

これが機能しました。キャスティングで十分でした。

継承シーケンスを次のように変更しました。

PersonalData を「スーパー ペアレント」クラスにします。アカウントは PersonalData から継承します。FinancialState は Account から継承します。Deposit は FinancieryState を継承しています。預金からの相続を廃止します。

次に、データはRetireオブジェクトに格納され、リタイア情報を取得するには、myObject.GetRetireTotal().

デポジット情報の場合は に変わり((Deposit)myObject).GetDepositTotal()ます。

等々...

于 2012-05-31T01:23:24.447 に答える