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

UptoLike

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

88
{
objA = new A(fA);
fldB = fB;
}
public void MethodB(){
objA.MethodA();
Console.WriteLine("Это класс B");
}
}
Обратите внимание, что конструктор клиента (класса B) отвечает
за инициализацию своих полей и поэтому создает объект поставщика
(класса A).
5.2. Отношение наследования
Большие возможности объектно-ориентированного программиро-
вания основываются на возможности наследовании. Если описан неко-
торый полезный класс, то он может использоваться многократно. Но
часто возникает необходимость расширить его возможности, задать ему
новую функциональность. Если попытаться изменять сам работающий
класс, то это может привести к тому, что перестанут работать те части
приложения, которые уже используют данный класс.
Кроме этого часто может потребоваться настраивать под потреб-
ности новых задач классы, которые уже содержатся в библиотеке FCL
или сборках созданных другими разработчиками
В этом случае и используется отношение наследования. Сущест-
вующий класс можно не менять, а создать на его основе новый класс,
который называется производным классом или потомком.
5.2.1. Описание производного класса
Производный класс описывается путем записи после его имени
двоеточия и имени базового класса:
[режим_доступа] class <имя_потомка> : <имя_родителя>
{
// описание производного класса
}
В языке C# производный класс может иметь только один базовый класс
(т.е. отсутствует множественное наследование).
Производный класс наследует поля и методы базового класса.
Однако, в производном классе возможен прямой доступ только к полям
и методам базового класса с режимом доступа public и protected.
Элементы родительского класса, имеющие режим доступа private, хо-
тя и наследуются, но по-прежнему остаются закрытыми. Методы произ-
водного класса не могут обращаться непосредственно к закрытым эле-