Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование лекции.doc
Скачиваний:
32
Добавлен:
03.12.2018
Размер:
4.85 Mб
Скачать

2.4 Основные понятия объектно-ориентированной технологии

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

В основе всех объектно-ориентированных языков программирования лежат три главные концепции: инкапсуляция, полиморфизм и наследование.

2.4.1 Инкапсуляция

В ре­альном мире каждый предмет или процесс обладает набором статических и ди­намических характеристик, иными словами, свойствами и поведением. Поведе­ние объекта зависит от его состояния и внешних воздействий. Например, бессмысленно пытаться работать в С#, если компьютер не включен и не загружено необходимое программное обеспечение.

В программе объ­ект представляется как совокупность данных, характеризующих его состояние, и кода (функций их обработки, моделирующих его поведение). В программе, естественно, используется не сам реальный объект, а некоторая его абстракция, где учтены с точки зрения разработчика только существенные его особенности, а прочие опущены.

Важным свойством объекта является его обособленность. Детали внутренней структуры данных и алгоритмы их обработки в ООП скрыты от пользователя объекта и недоступны для непреднамеренных изменений. Скрытие деталей реализации называется инкапсуляцией.

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

Это позволяет представить программу в укрупненном виде – на уровне объектов и их взаимосвязей, а следовательно, управлять большим объ­емом информации и успешно отлаживать сложные программы.

Доступ к объекту осуществляется через его интерфейс – совокупность правил доступа.

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

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

При создании объектно-ориентированной программы предметная область пред­ставляется в виде совокупности объектов. Выполнение программы состоит в том, что объекты обмениваются сообщениями. Это позволяет использовать при про­граммировании понятия, более адекватно отражающие предметную область.

2.4.2 Полиморфизм

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

В общем виде концепцию полиморфизма часто можно описать как «один интерфейс, множество методов». Это значит, что можно разработать единый интерфейс для группы однотипных действий. Полиморфизм помогает упростить код, так как позволяет использовать один и тот же интерфейс для определения общего класса действий для разных ситуаций. В каждом конкретном случае компилятор сам выберет именно тот метод, который требуется программисту (конечно, если он относится к данному общему классу).