Лабораторный практикум по основам объектно-ориентированного программирования. Шишкина В.В. - 11 стр.

UptoLike

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

11
путем определения того общего класса (или классов), к которому он относится,
но со специальными чертами, делающие объект уникальным.
Синтаксис наследования следующий: при описании класса-потомка его
класс-предок указывается через двоеточие.
Пример определения класса-предка Dad и класса-потомка Son:
public class Dad {}
public class Son: Dad {}
При инициализации полей объектов класса-наследника необходимо также
инициализировать и поля базового
класса. Инициализация полей, как было
сказано выше, обычно осуществляется с использованием конструктора.
Передача управления конструктору базового класса при создании объекта
представителя производного класса осуществляется посредством конструкции
...(...):base(...){...}, которая располагается в объявлении конструктора класса-
наследника между заголовком конструктора и телом. После ключевого слова
base в скобках располагается список значений параметров конструктора
базового класса
. Очевидно, что выбор соответствующего конструктора
определяется типом значений в списке (возможно, пустом) параметров.
Пример:
public class Dad
{
int a;
public Dad(int s);
}
public class Son: Dad
{
public Son(int k):base(k) {}
}
Если же у базового класса не объявлено ни одного конструктора
(оставлен конструктор по умолчанию) или объявлен конструктор без
параметров, тогда конструкцию base можно не использовать: при ее отсутствии
управление передается конструктору без параметров.
Однако
при вызове конструктора можно передавать управление не только
конструктору базового класса, но и другому конструктору данного класса. Это
удобно в тех случаях, когда необходимо создать множество объектов,
различающихся между собой каким-либо образом, но и имеющим некую
общую часть. Тогда для реализации общей части можно написать какой-то
общий конструктор, а
уже в других конструкторах, выполняющих более
детальную настройку объекта, вызывать общий. Передача управления
собственному конструктору аналогична описанной выше, только вместо
ключевого слова base используется ключевое слово this.
Пример:
public class Dad
{
int a;