2016-04-04 9 views
0

私は正しい見出しを選択した場合、私は知らないが、私は思っているんでパラメータ化されたメソッドを呼び出します。その他の方法

私は現在、より良いC#でメソッドの理解取得しようとしていますし、そうすることで、私は簡単なBankAccount例を作るだろうと思いました。

だから、私は何を持っていることはこれです:

  • 方法を "預金" お金:

    1. 私は三つの方法があります。
    2. お金を "引き出す"方法。
    3. すべて(名前、バランス)を印刷する方法。私は主に「預金」を呼び出し、それに値を渡した場合、私は、印刷方法をしたい

      :私は何をしたいことはこれです

class BankAccount 
{ 
    public string Name 
    { 
     get { return _Name; } 
     set { _Name = value; } 
    } 
    private string _Name; 

    public int Balance 
    { 
     get { return _Balance; } 
     set { _Balance = value; } 
    } 
    private int _Balance; 

    public BankAccount(string name) 
    { 
     Name = name; 
     Balance = 1000; 
    } 

    // deposit money 
    public int Deposit(int balance) 
    { 
     Balance += balance; 

     return Balance; 
    } 

    // withdraw money 
    public int WithDraw(int balance) 
    { 
     Balance -= balance; 

     return Balance; 
    } 

    // print to console 
    public void Print() 
    { 
     Console.WriteLine("Owner: " + Name 
      + "\nYour current balance is: $" + Balance);    
    } 
} 

私に金額を見せてください(同じことが "引退"になります)。

どのように私はこれを達成できますか?いくつかのcontrole文を試しましたが、パラメータを持つメソッドでこれを正しく行う方法がわかりません。

私は誰かが私のこの問題に関するいくつかの光を当てることができますことを願っています。

+2

私は混乱しているが - あなたは 'Withdraw'方法が何かを印刷するか、それぞれの撤退後に' Print'メソッドを呼び出すようにしたいですか? –

+0

あなたの 'WithDraw'メソッドと' Deposit'メソッドで、 'Ballance'を返す前に' Print() 'を呼び出しますか? –

+0

私はあなたが意味するものを正確に理解していません。どこで初期化し、インスタンスを介して、または 'デポジット()'と '撤退()'メソッド内のいずれか() 'メソッド'印刷を呼び出すことができます – Pikoh

答えて

2

あなたができることは、複数のことを行う方法をオーバーロードすることです。例えば、int(残高を差し引いたり追加したもの)とstringが発生し、これは、この方法は、それを呼び出しに応じ"withdrew"又は"deposited"として文字列actionを通過させることによって使用することができ、すでに既存の

public void Print(int balance, string action) 
{ 
    Console.WriteLine("Owner: " + Name 
     + "\nYour current balance is: $" + Balance 
     + "and you " + action + ": $" + balance); 
} 

と共にコード、この方法。このオーバーロードを使用して

は、彼らが彼らのバランスを知ってほしいが、撤退したり、堆積しない場合は、両方の出力に元Print方法を可能にし、あなたがオーバーロードするの詳細については

を渡すパラメータすべてによってその上で新しいバージョンthis MSDNページ

使用例を参照してください。

public int Deposit(int balance) 
{ 
    Balance += balance; 
    Print(balance, "deposited"); //prints current balance AND action that was completed 
    return Balance; 
} 

public void ShowBalance() 
{ 
    Print(); //Just prints current balance 
} 
+0

それは動作しません。最後の操作の量を示す別のパラメータを追加する必要があります。 – Pikoh

+0

@Pikohこれは、残高とは何か、私は変数名を使用しています。実際の残高は資本Bで「残高」と呼ばれ、アクションで使用される金額は小文字の「残高」と呼ばれます –

+0

そうです。ほぼ同じ名前が私を混乱させました – Pikoh

関連する問題