Введение в теорию программирования. Объектно-ориентированный подход



         

Объектно-ориентированный подход к программированию - часть 3


  1. конструкторы (т.е. функции создания и инициализации классов) не наследуются;
  2. в языке C# существует возможность замещения наследуемых методов (этот языковой аспект будет рассмотрен более подробно в ходе дальнейших лекций).

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

Один класс языка программирования C# может наследовать лишь свойства другого класса (но не структуры – типа данных, аналогичного кортежу языка программирования SML).

Структура не может наследовать свойства другого типа данных, однако может при этом реализовывать как один, так и несколько интерфейсов.

Подкласс с неявным базовым классом наследует свойства наиболее абстрактного класса, известного под названием "объект" (object).

Еще одним фундаментальным компонентом концепции объектно-ориентированного программирования является понятие инкапсуляции.

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

Таким образом, свойствами объекта (безразлично, являются ли они явно описанными или производными от других объектов) возможно оперировать исключительно посредством методов, которые содержатся в описании данного объекта (или родительских по отношению к нему объектов, при условии, что эти методы унаследованы).

Инкапсуляция является весьма важным свойством, поскольку обеспечивает определенную (а точнее, определяемую программистом) степень доступности объекта.

Хотя инкапсуляция как таковая является фундаментальным свойством ООП, степень инкапсуляции при наследовании может варьироваться в зависимости от типа области видимости объекта, который определяется модификатором видимости.


Содержание  Назад  Вперед