Отправляет email-рассылки с помощью сервиса Sendsay

Финансы. Инструкция

  Все выпуски  

Уроки по C# и .NET.


Информационный Канал Subscribe.Ru

C# и .NET. Уроки с сайта http://progs.biz

Рассылка №33

FAQ по C#. Вопрос 5. Как вызвать конструктор базового класса?

Полные версии уроков (с картинками) можно найти по адресам:
Вопрос 5. Как вызвать конструктор базового класса?

С. Жарков. Shareware: профессиональная разработка и продвижение программ

Заказать на Озоне

Подробнее

Рассылки сайта progs.biz через subscribe.ru
Уроки по Flash MX
Уроки по Flash MX с сайта http://progs.biz. От создания отдельных роликов до применения языка ActionScript.

FAQ по C#. Вопрос 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)
    {
        ...
Наверх

Copyright Алексеев Игорь, 2002-2003
Copyright сайт progs.biz, 2002-2003
Распространение материалов без разрешения владельцев авторских прав запрещено.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное