我有一个银行应用程序,可以在其中创建一个储蓄或支票帐户号码。我有一个抽象的Account类和一个从其继承的Savings and Checking类。创建帐户后,该帐户必须是支票帐户或储蓄帐户(这是通过复选框和单击按钮完成的),因此分配的帐户ID对于支票帐户或储蓄帐户是唯一的。问题是我是否要在创建帐户时添加他们是大学生还是高龄公民(通过复选框完成),这将与常规支票或储蓄帐户不同。添加此功能的目的是,当我创建月末报表时,为大学生或老年人创建的帐户将在其支票帐户上获得较低的月费,并在其储蓄帐户上获得较高的利率。
我将帐户ID存储在列表中,“ saccounts”是储蓄帐户类的对象,而“ caccounts”是支票帐户类的对象。
private int _nextIndex = 0;
List<Account> saccounts = new List<Account>();
List<Account> caccounts = new List<Account>();
private void createButton1_Click(object sender, EventArgs e)
{
createNewAccount();
clearFields();
}
这是创建帐户的地方。用户将选中该复选框以进行检查或保存,并创建一个帐户并将其存储在列表帐户中。
if (checkingRadioButton1.Checked == true)
{
_nextIndex++;
transactionLabel1.Text = "Checking Account: #" + _nextIndex + " created with a starting balance of $" + balance;
accountTextBox1.Text = "" + _nextIndex;
caccounts.Add(new CheckingAccount(balance)
{
AccountID = _nextIndex
});
}
else if (savingsRadioButton2.Checked == true)
{
_nextIndex++;
transactionLabel1.Text = "Savings Account: #" + _nextIndex + " created with a starting balance of $" + balance;
accountTextBox1.Text = "" + _nextIndex;
saccounts.Add(new SavingsAccount(balance)
{
AccountID = _nextIndex
});
}
这是我进行班级设置的方式。
public abstract class Account
{
public abstract int AccountID { get; set; }
}
class SavingsAccount : Account
{
private int accountId;
private int senioraccountid;
public override int AccountID { get; set; }
}
class CheckingAccount : Account
{
private int accountId;
private int collegeaccountid;
public override int AccountID { get; set; }
}