Я новичок в программировании и этот класс-вещи делают мою голову вНеверное переопределение называется?
Вот мой код (тип основан на UserInput)
public static Account CreateAccount(int type)
{
switch (type)
{
case 1:
SaveAcc savings = new SaveAcc();
break;
default:
Console.WriteLine("No such choice");
break;
}
return new Account();
}
Это мои классы:.
class Account
{
protected int balance;
protected int accountnr = 1;
protected bool credit;
public Account()
{
newNr++;
accountnr = newNr;
}
public override string ToString()
{
return "AccNr: " + Nr.ToString("G") + ", balance: " + balance.ToString("C");
}
}
class SaveAcc: Account
{
public int rate;
public SaveAcc()
{
credit = true;
rate = 0.03;
}
public override string ToString()
{
return "AccNr: " + Nr.ToString("G") + ", balance: " + balance.ToString("C") + credit.ToString();
}
}
Когда я создаю объект SavAcc, вызывается «неправильное» переопределение. Моя цель - отобразить всю информацию, предоставленную переопределяющим методом ToString, расположенным в унаследованном классе SavAcc. Мне что-то не хватает?
Где 'SavAcc'? Что такое 'SaveAcc'? Где вы это называете? – leppie
Typo, SalAcc должен быть SaveAcc @leppie – 153qa
ОК, в 'case 1' вы никогда не возвращаете созданный экземпляр. Вы, наверное, хотели. – leppie