2016-04-13 15 views
1

Ben C# için yepyeni ve yaratmaya çalıştığım bir program ile mücadele ediyorum. Umarım bu soruyu yeteneklerimin en iyisine sorabilirim. Görevime göre, bir hesap oluşturan Visual Basic'te bir Windows Formu oluşturuyoruz. Benim soru amacım için bir Account sınıfına sahibim, bir Tasarruf Hesabı sınıfı (Account sınıfından türetilmiş), dört formum var, bir AccountForm (hesap numarası ve hesap görüntüleyen ana form) string yöntemi kullanılarak miktar). Tahmini bir faiz hesap formum var. Bu hesap, mevcut bir AccountBalance hesabını hesap sınıfından (veya tasarruf hesabı sınıfından hangisinin olduğundan emin değil) alması ve kullanıcı tarafından girilen bir faiz oranını hesaplamak için (bu rakam InterestForm numaralı telefondan tahsil edilir) hesaba katılması gerekir. Şu anda, InterestForm benim AccountBalance benim 0 döndürüyor ve neden emin değilim. İşte InterestForm için kodum. Senin farklı `SavingsAccount` örneklerini ve aynı birini güncellenmiyor şüpheliNeden AccountBalance referansım 0 miktar döndürüyor?

public InterestForm(double accountBalance) : this() 
{ 
    savingsAccount.AccountBalance = accountBalance; 
} 
+0

:

namespace Assignment_6_third_attempt { public partial class InterestForm : Form { private SavingsAccount savingsAccount = new SavingsAccount(); //private double accountBalance; public InterestForm() { InitializeComponent(); } public InterestForm(double accountBalance) { accountBalance = savingsAccount.AccountBalance; InitializeComponent(); } private void addInterestButton_Click(object sender, EventArgs e) { CalculateInterest(); // this.Close(); } public void CalculateInterest() { //A = P(1 + rt) double accountBalance = savingsAccount.AccountBalance; double interestRate = double.Parse(interestUpDown.Text); double term = double.Parse(termUpDown.Text); double estimateInterest = (accountBalance * (1 + (interestRate * term))); estimateTextBox.Text = estimateInterest.ToString("C"); } } } 

+0

Yoiu,' SavingsAccount 'kodunun yayınlanması gerekir. Tahmin ederseniz, muhtemelen "SaveingsAccount" özelliklerine ilişkin değerleri sağlamazsınız. – Tim

+0

@ Tim ve D Stanley, true, SavingsAccount sınıfı altında sağlanan bir değere sahip değilim (ancak Hesap sınıfı altında ve SavingsAccount sınıfı, Hesap sınıfından türetilmiştir). Hesap sınıfından doğrudan aldığımda, hesap sınıfının altında bir hesaba (hesaba yatırdığım miktara bağlı olarak) bir miktarın altında olmasına rağmen hesap bakiyesi 0 olsa bile, yine de o hesabaBalance 0 olur. Hangi özel hesap durumunu kullandığımı kontrol etmenin bir yolu var mı? (Visual Studio'da gezinmenin yanı sıra). –

cevap

3

için InterestForm yapıcı değiştirin

. Yayınladığınız kodda hiçbir şey görmüyorum. Bu, "AccountBalance" 'i 0'dan değiştirecektir.

+2

gibi bazı "bulmak" sağ tıklayıp seçme Tasarımcısı *, InitializeComponent() 'diye adlandırılan parametresiz bir kurucu gerektirir — parametreli olanı zincirlemek ve tasarımcı için parametresiz bir kurucu bırakmak daha iyidir. Aksi takdirde, bu kod tasarımcıyı bozar. –

+0

@nikhilvartak Teşekkürler.Ancak, bu hala 0 miktarını iade ediyor. –

+0

@ Mat'ın Kupa, ben bununla ne demek istediğinden emin değilim ... –

İlgili konular