Информационные технологии в образовании
Каталог статей
Информатизация образования
Персональный сайт учителя
Информационные технологии
Работа с видео
Презентации
Исследовательская работа в школе
Интернет-сервисы (Web 2.0)
Интеллект-карты
Интерактивная доска
Операционные системы
Windows
Linux
Программное обеспечение
Программирование
Все статьи блога

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

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

План

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

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

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

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

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

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

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

Недостаток.

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

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

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

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

Принципы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Полезный материал?
Поделись с друзьями!

InfoStarting © 2013-2017 Лицензия Creative Commons
Материалы этого сайта, автор которого — Анна Трефилова, доступны на условиях лицензии Creative Commons «Attribution-NonCommercial-ShareAlike» .
Разрешения, выходящие за рамки данной лицензии, могут быть получены на странице http://infostarting.ru/sample-page/.