Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Rabochy_stol / 23 инициализатор конструктора

.docx
Скачиваний:
16
Добавлен:
31.05.2015
Размер:
13.33 Кб
Скачать

23 ИНИЦИАЛИЗАТОРЫ КОНСТРУКТОРОВ

Во всех конструкторах С#, кроме System.Object, конструкторы базового класса вызываются прямо перед исполнением первой строки конструктора. Эти инициализаторы конструкторов позволяют задавать класс и подлежащий вызову конструктор. Они бывают двух видов.  Инициализатор в виде base(...) активизирует конструктор базового класса текущего класса.  Инициализатор в виде this(...) позволяет текущему базовому классу вызвать другой конструктор, определенный в нем самом. Это полезно, когда вы перегрузили несколько конструкторов и хотите быть уверенными, что всегда будет вызван конструктор по умолчанию. О перегруженных методах разговор пойдет позже, здесь же мы приведем их краткое определение: перегруженными называются два и более метод с одинаковым именем, но с различными списками аргументов.  А теперь рассмотрим пример ситуации, когда выгодно использовать инициализаторы конструкторов. У нас опять два класса: А и В. На этот раз у класса А два конструктора, один из них не требует аргументов, а другой принимает аргумент типа int. У класса В один конструктор, принимающий аргумент типа int. При создании класса В возникает проблема.