5. Опишите формат определения производного класса. 6. Каким образом в производном...

+526 голосов
5.6m просмотров

5. Опишите формат определения производного класса. 6. Каким образом в производном классе может быть вызван конструктор, определенный в базовом классе?


Информатика | 5.6m просмотров
Дан 1 ответ
+163 голосов

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 говорит о том, что этот метод может быть переопределен в потомке  

(40 баллов)