Вопрос 5. Как вызвать конструктор базового класса?
Автор: admin | 14 Июнь 2008 – 14:58 -Вопрос 5. Как вызвать конструктор базового класса?
Ситуация такая – есть базовый класс и есть производные классы. У базового класса есть некий конструктор с параметрами, код которого должен выполнятся в каждом производном класса (т. е. это некий общий код). Разумеется, писать этот код в каждоб производном классе не логично. Правильно это делать через ключевое слово base:
... public class C1 { //Конструктор с параметром. public C1(int a) { Console.WriteLine(a); } } public class C2:C1 { //Конструктор с параметром. public C2(int a):base(a) { Console.WriteLine(a+1); } } //Тестовый класс. public class Test { public static void Main() { //Напечатается 100 и 101. C1 s=new C2(100); } }
Т. е. в приведенном примере сначала вызовется конструктор базового класса, а потом конструктор производного.
При этом у двух конструкторов количество параметром может и не совпадать. Выглядеть это будет приблизительно так:
//Конструктор с параметром.
public C2(int a, int b):base(a)
{
...
Tags: base, Console, main, new, public, static, Test
Находится в FAQ по C# | No Comments »
Ответить
Вы должны быть в системе, дабы комментировать.
