5. class имя класса: список_базовых_классов
{список_компонентов_класса};
6. Поскольку конструкторы не наследуются, при создании производного класса наследуемые им данные-члены должны инициализироваться конструктором базового класса. Конструктор базового класса вызывается автоматически и выполняется до конструктора производного класса. Если наследуется несколько базовых классов, то их конструкторы выполняются в той последовательности, в которой перечислены базовые классы в определении производного класса. Конструктор производного класса вызывается по окончании работы конструкторов базовых классов. Параметры конструктора базового класса указываются в определении конструктора производного класса. Таким образом происходит передача аргументов от конструктора производного класса конструктору базового класса.
public class A
{
public virtual void DoWork ()
{
Console.WriteLine("class A");
}
}
public class B: A
{
public override void DoWork ()
{
Console.WriteLine("class B");
}
}
Здесь есть 2 класса: A — предок, B — потомок. В классе A объявлен метод
public virtual void DoWork ()
ключевое слово virtual говорит о том, что этот метод может быть переопределен в потомке