* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Инкапсуляция
8 февраля 2009

Инкапсуляция представляет собой один из базовых принципов ООП, суть которо-
го состоит в отделении реализации объекта от его интерфейса. Другими словами,
приложение взаимодействует с объектом через его интерфейс, который состоит из
открытых свойств и методов. Коль скоро интерфейс объекта остается неизменным,
приложение сохраняет способность к взаимодействию с ним, даже если в новой
версии объекта его реализация полностью изменится.
Объекты должны взаимодействовать друг с другом только через свои открытые
методы и свойства, поэтому объекту требуются все необходимые данные и полный
набор методов, необходимых для работы с этими данными. Интерфейс ни в коем
случае не должен открывать доступ к внутренним данным объекта, поэтому поля с
внутренними данными объекта редко объявляют с модификатором Public (public).
Вернемся к примеру с объектом Автомобиль, который может взаимодействовать
с объектом Водитель через открытый интерфейс, где объявлены методы Ехатъ_впе-
ред, Ехать_назад и Остановиться — их достаточно для взаимодействия объектов
Водитель и Автомобиль. У объекта Автомобиль может быть дочерний объект Двига-
тель, но это безразлично объекту Водитель — ему важно лишь наличие методов,
вызывая которые, удается получать соответствующие значения. Так, можно заме-
нить объект Двигатель, и взаимодействующий с ним объект Водитель не заметит
замены, если она не нарушит корректную работу интерфейса.

Теги: .NET

Статьи по теме:

Установка точек прерывания
Защита приложений
Примеси (mixin)
Свойства-наборы
Создание производных элементов управления
.NET Framework и языки программирования
Создание класса строго типизированного набора на основе класса CollectionBase
Локализация формы
Стратегия оптимизации
Применение переменных ссылочных типов
Работа с элементами управления
Преобразование кодировки символов
Извлечение из сопутствующих сборок ресурсов, специфичных для культуры
Извлечение типизированных данных с помощью объекта DataReader
Создание экземпляров пользовательских типов
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Инкапсуляция. Регион сайта: Москва и Санкт-Петербург