Объектно-ориентированное программирование

Обзорная лекция для студентов МОиАИС Госэкзамен 2015 года. Друзья мои, этот курс я вам не читала, потому все из источников. Можете почитать оригиналы. Успехов в подготовке и сдаче госов.

План

  1. Объектно-ориентированное программирование (ООП). Определение.
  2. Основные понятия и принципы ООП.
  3. Описание класса.
  4. Ограничение доступа к полям и методам.
  5. Иерархия классов.
  6. Описание полиморфных объектов.
  7. Пример описания класса.

Объектно-ориентированное программирование (ООП). Определение.

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

Взаимодействие объектов в системе ООП реализовано с помощью передачи сообщений.

Достоинства.

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

Сломался ноутбук? Рекомендую ремонт ноутбуков Новые ватутинки.

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

Недостаток.

Некоторое снижение быстродействия, возникающее вследствие усложнения организации программной системы.

Основные понятия и принципы ООП

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

«Абстракция –  совокупность существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, четко определяют особенности данного объекта с точки зрения дальнейшего рассмотрения и анализа».

Принципы

Абстрагирование – процесс построения абстракций в предметной области решаемой задачи.

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

Ограничение доступа – сокрытие некоторых отдельных элементов реализации абстракции, которые не затрагивают ее существенные характеристики. Разграничивают две части абстракции:

интерфейс – основные характеристики состояния и поведения, которые представляют собой совокупность всех доступных извне элементов реализации абстракции;

реализация – все недоступные извне элементы реализации абстракции (внутренняя организация абстракции, механизмы реализации ее поведения).

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

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

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

Иерархия – упорядочивание системы абстракций.

Целое/часть – означает, что существуют абстракции, включенные в рассматриваемую как ее части.

Общее/частное – означает, что одна абстракция является частным случаем другой.

На принципе иерархии обще/частное основан механизм наследования.

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

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

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

Если тип связывается с программным объектом на стадии компиляции (раннее связывание), то считают, что тип связан статически. Если во время выполнения программы (позднее связывание), то – динамически.

Использование полиморфных объектов, то есть переменных-указателей на объекты, принадлежащие различным классам, расширяет возможности языка.

Свойства абстракций

«Параллелизм – свойство нескольких абстракций одновременно находиться в активном состоянии, т.е. выполнять некоторые операции».

Устойчивость – свойство абстракции существовать во времени независимо от процесса, породившего данный программный объект, и/или в пространстве, перемещаясь из адресного пространства, в котором он был создан.

В зависимости от устойчивости различают разные виды объектов.

Временные объекты создаются для хранения промежуточных результатов.

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

Глобальные объекты существуют, пока программа находится в памяти.

Сохраняемые объекты хранят свои данные в файлах внешней памяти и по окончании работы программы.

Если остались вопросы, пишите, или ищите меня на кафедре 😉

Posted in Учебно-методические материалы.

Добавить комментарий

Ваш адрес email не будет опубликован.