Имя Пароль
Зарегистрироваться


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



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

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

Теги: .NET

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

Удаление и отключение точек прерывания
Генерация исключений
Применение XML с объектами DataSet
Промежуточный язык
Создание типизированного объекта DataSet с помощью XML Designer
Вызов методов
Параметризованные свойства
Лямбда-выражения
Установка точек прерывания
Модификация и обновление данных
Интерфейсы как средство достижения полиморфизма
Работа с элементами управления
Императивная защита по правам доступа к коду
Добавление элементов управления на панель Toolbox
Реализация полиморфизма через наследование
| .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 31


     



Rambler's Top100

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

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