Высокоуровневые методы информатики и программирования. Тузовский А.Ф. - 90 стр.

UptoLike

Составители: 

90
производный класс, прежде чем создать собственный объект, вызывает
конструктор базового класса, создавая родительский объект, который
затем будет дополнен полями производного класса. Этот процесс про-
должается до тех пор, пока не будет создан объект самого базового
класса.
Вызов конструктора родителя происходит не в теле конструктора,
а в заголовке, пока еще не создан объект класса. Для вызова конструк-
тора используется ключевое слово base, именующее родительский
класс. Например, для класса Derived может быть описаны следующие
конструкторы:
public Derived() {}
public Derived(string name, int cred, int deb)
: base (name,cred) {
debet = deb;
}
Для конструктора без параметров вызов аналогичного конструктора ро-
дителя подразумевается по умолчанию. Для конструкторов с парамет-
рами вызов конструктора с параметрами родительского класса должен
быть явным. Описание вызова конструктора базового класса следует
через двоеточие после списка параметров конструктора. Конструктору
производного класса передаются все параметры, необходимые для ини-
циализации полей, часть из которых передаются конструктору базового
класса для инициализации его полей.
Таким образом, вызов конструктора производного класса приво-
дит к цепочке вызовов конструкторов базовых классов. Затем, в об-
ратном порядке, создаются объекты, начиная с объекта самого базового
класса, и выполняются методы соответствующих конструкторов, ини-
циализирующие поля и выполняющие другую работу этих конструкто-
ров. Последним создается объект производного класса и выполняется
тело конструктора производного класса.
5.2.3. Добавление методов в производном классе
В производном классе можно описывать новые методы с имена-
ми, отличными от имен наследуемых методов. В этом случае никаких
особенностей нет. Например:
public void DerivedMethod(){
Console.WriteLine("Это метод класса Derived");
}
Производный класс не может изменять поля базового класса
(предков), но может изменять наследуемые им методы. Если в произ-
водном классе описывается метод с именем, совпадающим с именем ме-
тода базового класса, то возможны три ситуации: