Эта страница объясняет это хорошо:
public class SavingsAccount : BankAccount
{
public double interestRate;
public SavingsAccount(string name, int number, int balance, double rate) : base(name, number)
{
accountBalance = balance;
interestRate = rate;
}
public double monthlyInterest()
{
return interestRate * accountBalance;
}
}
static void Main()
{
SavingsAccount saveAccount = new SavingsAccount("Fred Wilson", 123456, 432, 0.02F);
Console.WriteLine("Interest this Month = " + saveAccount.monthlyInterest());
}
Если метод monthlyInterest
уже существует в классе BankAccount
(и объявлен abstract
, virtual
,или override
) тогда определение метода SavingsAccount
должно включать override
, как объяснено здесь .Если не использовать override
для переопределения таких методов класса, это приведет к предупреждению компилятора CS0108, которое можно подавить, используя new
, как смутно указано здесь .