У меня есть банковское приложение, в котором я создаю номер счета для сберегательного или текущего счета. У меня есть абстрактный класс Account и класс Savings and Checking, который наследуется от него. Когда учетная запись создается, она должна быть либо чековой, либо сберегательной (это делается с помощью флажка и кнопки щелчка), поэтому назначенный идентификатор учетной записи является уникальным для проверки или сбережения. Вопрос в том, хочу ли я добавить, являются ли они студентом колледжа или пожилым гражданином (это делается с помощью флажка), когда они создают учетную запись, которая будет уникальной только для обычного текущего или сберегательного счета. Цель добавления этого заключается в том, что когда я создаю учетные записи на конец месяца, созданные для студента колледжа или пожилого гражданина, они получат меньшую ежемесячную плату на своем текущем счете и более высокую процентную ставку на своем сберегательном счете.
Я храню идентификатор учетной записи в списке, и «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; }
}