Помощь в учёбе, очень быстро...
Работаем вместе до победы

Отношение наследования. 
Объектно-ориентированное программирование

РефератПомощь в написанииУзнать стоимостьмоей работы

Производный класс наследует поля и методы базового класса. Однако в производном классе возможен прямой доступ только к полям и методам базового класса с режимом доступа public и protected. Элементы родительского класса, имеющие режим доступа private, хотя и наследуются, но по-прежнему остаются закрытыми. Методы производного класса не могут обращаться непосредственно к закрытым элементам базового… Читать ещё >

Отношение наследования. Объектно-ориентированное программирование (реферат, курсовая, диплом, контрольная)

Большие возможности объектно-ориентированного программирования основываются на возможности наследования. Если описан некоторый полезный класс, то он может использоваться многократно. Но часто возникает необходимость расширить его возможности, задать ему новую функциональность. Если попытаться изменять сам работающий класс, то это может привести к тому, что перестанут работать тс части приложения, которые уже используют данный класс.

Кроме этого, часто может потребоваться настраивать под потребности новых задач классы, которые уже содержатся в библиотеке FCL или сборках, созданных другими разработчиками.

В этом случае и используется отношение наследования. Существующий класс можно не менять, а создать на его основе новый класс, который называется производным классом, или потомком.

Описание производного класса

Производный класс описывается путем записи после его имени двоеточия и имени базового класса:

[режим_доступа] class :

{.

// описание производного класса.

}.

В языке C# производный класс может иметь только один базовый класс (т. е. отсутствует множественное наследование).

Производный класс наследует поля и методы базового класса. Однако в производном классе возможен прямой доступ только к полям и методам базового класса с режимом доступа public и protected. Элементы родительского класса, имеющие режим доступа private, хотя и наследуются, но по-прежнему остаются закрытыми. Методы производного класса не могут обращаться непосредственно к закрытым элементам базового класса, а могут использовать их только через наследуемые открытые методы базового класса.

Единственное, что не наследует производный класс — это конструкторы родительского класса. В производном классе должны быть описаны свои конструкторы. Кроме этого, в производном классе (потомке) можно добавлять новые поля и методы. Производный класс не может ни отменить, ни изменить модификаторы или типы полей, наследованных от родителя, он может только добавить собственные поля. Добавление новых методов в производном классе имеет особенности, которые рассмотрены в разд. 5.2.3.

Рассмотрим пример описания классов, А и В:

public class, А {.

private string sA;

protected int fldA;

public A (int 0 {fldA = f; sA = «X» ;} public float MethodA () {return fldA/2 °F;}.

}.

Класс В является классом производным от класса А, и он наследует поле fldA и метод MethodA () базового класса:

public class В: А { protected string fldB;

public B (string fB.int fA): base (fA) {fldB = fB;} public float MethodB () {return fldA*2 °F;}.

}.

//…

// использование классов A a = new A (5);

В b = new B («Y», 7);

float x1 = b. MethodA (); // x1 = 2.5 — метод класса A float x2 = b. MethodB (); // x2 = 5- метод класса В.

Показать весь текст
Заполнить форму текущей работой