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



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

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

Теги: .NET

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

Генерация исключений
Применение классов Debug и Trace
Towards Cleaner Code, A C# Asynchronous Helper
Ввод кода с помощью CodeInsight
Компонент PrintDocument
Создание проекта установочной программы
Императивная защита по правам доступа к коду
Изменение меню во время выполнения
Распространение приложений через Интернет
Обработка и генерация исключений
Свойства, доступные только для чтения или только для записи
Интерфейсы как средство достижения полиморфизма
CBitmapEx – C++-класс для работы с BMP
Применение класса XmlDataDocument
Классы и структуры
| .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


     



Rambler's Top100

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

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