2016-04-04 18 views
0

Doğru bir başlık seçip seçmediğimi bilmiyorum, ama umarım sahip olurum.Diğer Yöntemlerde Parametre Yöntemlerini Çağırmak

Şu anda C# yöntemlerini daha iyi anlamaya çalışıyorum ve bunu yaparken basit bir BankAccount örneği yapacağımı düşündüm.

Peki, ne var şudur:

  • bir yöntem için "mevduat" Parayı:

    1. Ben üç yöntem var.
    2. "para çekme" yöntemidir.
    3. her şeyi yazdırmak için bir yöntem (isim, denge).

      ben Main "mevduat" dediğimiz ve bir değer geçirirseniz, ben yazdırma yöntemini istiyorum:

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

Ne yapmak istiyorum budur Bana miktarı göster (aynı "çekilme" için de geçerli).

Bunu nasıl başarabilirim? Bazı controle ifadelerini denedim, ancak parametreleri doğru olan yöntemlerle bunu nasıl doğru yapacağımı bilmiyorum?

Umarım birileri benim bu konuda biraz ışık tutabilir.

+2

kafam karıştı - sen 'Withdraw' yöntemi şey yazdırmak istediğiniz veya her geri aldıktan sonra' Print' yöntemi çağırmak istiyorum? 'WithDraw' ve' Deposit' yöntemlerinde –

+0

, 'Ballance' iadeden önce' Yazdır() 'ı çağırın. –

+0

Tam olarak ne demek istediğini anlamıyorum. – Pikoh

cevap

2

Yapabilecekleriniz, birden fazla şey yapma yöntemine aşırı yükleme yapmaktır, örneğin, bir int (çıkarılacak veya eklenilen bakiye) ve bir string hangi eylemin gerçekleştiğini söyleyen bir aşırı yüklenme oluşturabilir; ile birlikte kod bu yöntem zaten bir

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

Bu "withdrew" veya "deposited" yöntem diyor ki bağlı olarak dize action ileterek kullanılabilecek mevcut.

bu aşırı kullanılması onların dengesini bilmek istiyorsanız, her iki çıkışa orijinal Print yöntemi izin verir ancak çekildi veya tevdi ve tüm bağlı yeni sürümü Üzerinde aşırı yüklenme hakkında daha fazla bilgi için

geçmesi parametreleri asla this MSDN sayfa

Örnek Kullanım bkz:

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

Bu işe yaramayacak. Son işlemin miktarını göstermek için başka bir parametre eklemelisiniz. – Pikoh

+0

@Pikoh Dengeli olan bu, değişken adlarını kullanıyorum, gerçek bakiye B sermayesiyle Denge denir ve harekette kullanılan tutara –

+0

küçük harfle denir. Tamam haklısınız. Neredeyse aynı isimler şaşkındı bana – Pikoh

İlgili konular