2016-04-04 107 views
0

我不知道我是否選擇了正確的標題,但我確實希望擁有。在其他方法中調用參數化方法

我目前正試圖更好地理解C#中的方法,並且在這樣做時我認爲我會做一個簡單的BankAccount示例。

所以,我有什麼是這樣的:

  1. 我有三個方法:
    • 的方法,以 「存」 錢。
    • 一種「提取」錢的方法。
    • 一種打印一切(名稱,餘額)的方法。

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);    
    } 
} 

我想要做的是這樣的:

,如果我在主所說的「存款」,並通過它的值,我想打印方法告訴我金額(同樣適用於「退出」)。

我該如何做到這一點?我嘗試了一些控制語句,但我不知道如何正確使用帶參數的方法來做到這一點?

我希望有人能對我的這個問題有所瞭解。

+2

我很困惑 - 你想要的'Withdraw'方法打印的東西,或者你想調用後各個拉出了'Print'方法?在你的'WithDraw'和'Deposit'方法中使用 –

+0

,在返回'Ballance'之前調用'Print()'? –

+0

我不明白你的意思。告訴我們你在哪裏初始化並調用這個類的方法 – Pikoh

回答

2

你可以做的是超載的方法做多件事情,例如,你可以創建一個需要int(餘額被扣除或添加)和string說過哪些行爲發生的重載,那麼你可以有此方法中的代碼沿着已經存在一個

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

這可以通過將字符串作爲action"withdrew""deposited"取決於哪個方法調用它來使用。

使用此重載允許您同時輸出原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

相關問題