Схема взаимодействия объектов
Раздел 1. Теоретические основы объектно-ориентированного программирования
Тема 1.1 Основные принципы и этапы объектно-ориентированного программирования
План:
1. Основные свойства объектно-ориентированного программирования.
2. Создание программ с использованием объектов.
Основные свойства объектно-ориентированного программирования.
Основные идеи объектно-ориентированного подхода опираются на следующие положения:
- программа представляет собой модель некоторого реального процесса, части реального мира.
- модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов.
- объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект.
Взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому. Сообщение, полученное объектом, может потребовать выполнения определенных действий, например, изменения состояния объекта.
Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий представляют собой класс однотипных объектов.
Таким образом, объектно-ориентированный подход предполагает, что при разработке программы должны быть определены классы используемых в программе объектов и построены их описания, затем созданы экземпляры необходимых объектов и определено взаимодействие между ними.
Классы объектов часто удобно строить так, чтобы они образовывали иерархическую структуру. Например, класс “Студент”, описывающий абстрактного студента, может служить основой для построения классов “Студент 1 курса”, “Студент 2 курса” и т.д., которые обладают всеми свойствами студента вообще и некоторыми дополнительными свойствами, характеризующими студента конкретного курса. В таких иерархических структурах один класс может рассматриваться как базовый для других, производных от него классов. Объект производного класса обладает всеми свойствами базового класса и некоторыми собственными свойствами, он может реагировать на те же типы сообщений от других объектов, что и объект базового класса и на сообщения, имеющие смысл только для производного класса. Обычно говорят, что объект производного класса наследует все свойства своего базового класса.
Некоторые параметры объекта могут быть локализованы внутри объекта и недоступны для прямого воздействия извне объекта. Например, во время движения объекта-автомобиля объект-водитель может воздействовать только на ограниченный набор органов управления (рулевое колесо, педали газа, сцепления и тормоза, рычаг переключения передач) и ему недоступен целый ряд параметров, характеризующих состояние двигателя и автомобиля в целом – инкапсуляция.
Очевидно, для того, чтобы продуктивно применять объектный подход для разработки программ, необходимы языки программирования, поддерживающие этот подход, т.е. позволяющие строить описание классов объектов, образовывать данные объектных типов, выполнять операции над объектами.
Создание программ с использованием объектов.
Объектно-ориентированный подход подразумевает выполнение трех этапов:
• Объектно-ориентированный анализ. Создание объектно-ориентированной модели предметной области приложения ПО. Здесь объекты отражают реальные объекты-сущности, также определяются операции, выполняемые объектами.
Схема взаимодействия объектов
• Объектно-ориентированное проектирование. Разработка объектно-ориентированной модели системы ПО с учетом системных требований. Граница между объектно-ориентированным анализом и проектированием расплывчата и построение проекта программного изделия состоит из ряда циклов, в которых уточняются описания классов и взаимодействия между ними, разрабатываются реализующие их программы, проводится их отладка и тестирование и по результатам каждого этапа уточняются рабочие документы предыдущих этапов, дорабатываются описания классов и программы. Эти циклы повторяются до получения требуемого результата.
• Объектно-ориентированное программирование. Реализация архитектуры (модели) системы с помощью объектно-ориентированного языка программирования.
ВОПРОСЫ ДЛЯ ОБСУЖДЕНИЯ:
1.Привести примеры объектов и классов реального мира.
2.Привести примеры наследования классов реального мира.
3.Разработать схему взаимодействия объектов в ситуации автоматизированного заказа билета на поезд.
НАЗОВИТЕ ПОНЯТИЕ:
1.… - особый опознаваемый предмет или сущность, имеющий четко определенное функциональное назначение в данной предметной области. (ОБЪЕКТ)
2.… - множество объектов, связанных общностью структуры и поведением. (КЛАСС)
3.… - разделение программы на раздельно компилируемые фрагменты, имеющие между собой средства сообщения. (МОДУЛЬНОСТЬ)
4.… - это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейсную часть класса и не вникать в его внутреннюю реализацию. (ИНКАПСУЛЯЦИЯ)
5.… - выделение общих и в тоже время существенных свойств, описывающих поведение ряда схожих предметов. (АБСТРАКЦИЯ)
6.… - производный класс наследует всю структуру характеристик и поведение базового, однако может дополнять или модифицировать их. (НАСЛЕДОВАНИЕ)
Инкапсуляция
![]() |
Наследование
![]() | |||||
![]() ![]() | |||||
![]() | |||||