Логин:
Пароль:
Меню
Главная Программы Исходники Электронные книги FAQ C# Online учебник Android Java FAQ Android, Java Помощь сайту Наши баннеры О нас Связь с администрацией
Облако тегов

Показать все теги
Архив
  • Декабрь 2017
  • Май 2016
  • Апрель 2015
  • Март 2015
  • Март 2013
  • Март 2012

  • Как вызвать конструктор базового класса?
    Как вызвать конструктор базового класса?

    Ситуация такая - есть базовый класс и есть производные классы. У базового класса есть некий конструктор с параметрами, код которого должен выполнятся в каждом производном класса (т. е. это некий общий код). Разумеется, писать этот код в каждоб производном классе не логично. Правильно это делать через ключевое слово 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)
    {
    ...
    Популярные статьи
    Online Учебник по С# Бесплатная альтернатива Microsoft Visual Studio .NET для новичков Язык программирования C# 2005 и платформа .NET 2.0 ASP.NET MVC 4 Framework с примерами на C# 5.0 для профессионалов. 4-е изд. Язык программирования C# 5.0 и платформа .NET 4.5
    Реклама