C# - Главная Пространство имен
► System ► Microsoft Для учеников (начинающих)
► Видео уроки ► Обучение ► Примеры программ ► Секреты в Си Шарп Для профессионалов
► Обучение ► Примеры программ ► Задачки - для тебя! |
Конструкторы при наследовании C#Конструкторы не наследуются, но используются при создании объектов производных классов. При создании объекта производного класса, сначала вызывается конструктор базового класса, а затем производного класса. По умолчанию, при создании объектов производного класса вызывается конструктор базового класса без параметров. Что делать, если необходимо использование для базового класса конструктора с параметрами? В этом случае нужно обязательно написать конструктор производного класса и в описании этого конструктора включить дополнительную запись. После имени конструктора в его описании поставить двоеточие, затем, написать ключевое слово base и в скобках значения параметров. class B{ public int x; public B(int xx) { x=xx; } } class C:B{ public C(int xx):base(xx) {} } В С# нет множественного наследования классов, т.е. для у любого производного класса базовый класс всегда один. Сам базовый класс может быть производным от некоторого другого класса. В качестве базовых типов могут выступать интерфейсы, в этом случае класс может быть наследником многих интерфейсов. Замечание: Некоторые авторы определяют наследование, как создание нового класса на основе существующих. В этом случае, агрегация также подпадает под определение наследования, и ее называют наследованием по модели включение-делегирование. Запрет наследования: классы объявленные как sealed В некоторых случаях требуется запретить создание производных классов. Разработчики хотят, чтобы класс использовался только в том виде, в каком он создан, в этом случае ключевое слово sealed. Класс String пространства имен System является закрытым для наследования. Замечание: слово sealed не запрещает агрегацию. Просмотров: 9950 |