Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция по ТРПО последняя.docx
Скачиваний:
46
Добавлен:
27.09.2019
Размер:
174.48 Кб
Скачать

Объектно-ориентированный подход

Объектный подход к разработке информационных систем включает:

  • Объектно-ориентированный анализ – это методология, при которой требования к системе воспринимаются с точки зрения классов и объектов выявленных в предметной области.

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

  • Объектно-ориентированное программирование – это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

При объектно-ориентированной декомпозиции предметной области декомпозиции предметная область поставленной задачи представляется совокупностью автономных действующих объектов, которые взаимодействуют друг с другом, чтобы обеспечить поведение системы. Следование концепций ООП предполагает выполнение такого анализа решаемой задачи, при котором в первую очередь идентифицируются объекты и их поведение. Для объектов необходимо выявить:

  1. Данные описывающие их свойства и состояние.

  2. Функции, которые должны выполнять объекты.

  3. Сообщение, которое могут получать объекты.

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

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

Объект является экземпляром класса.

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

Class name; \\ тип данных

{

Данные; \\ атрибуты, свойства

Функции для работы с данными; \\методы

};

Вывести состояние ()

Базовые концепции ООП:

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

Выбор существенных атрибутов зависит от предметной области поставленной задачи. Например, для класса человек можно выделить следующие атрибуты: Ф.И.О., дата рождения, домашний адрес. Так для системы ГАИ существенными атрибутами будут одни, а для системы поликлиника набор существенных атрибутов будет другой.

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

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

Н

базовый

аследование может быть одиночным и множественным. При одиночном наследовании

произв

При множественном наследовании производный класс имеет более одного базового класса.

Таким образом, строится иерархия классов. Т.к. объекты классов используют одни и те же атрибуты без дублирования реализующих их программных кодов. Например, класс человек имеет атрибуты ФИО, дата рождения, домашний адрес. Производный класс от него – класс водитель имеет атрибуты серия и номер водительского удостоверения, дата выдачи. Это пример одиночного наследования и объект класса водитель будет обладать следующими атрибутами: ФИО, дата рождения, домашний адрес, серия дата выдачи удостоверения.

Пример 2

Имеется класс водитель и класс транспортное средство с атрибутами: марка, цвет. На основании этого класса создадим новый с атрибутами: гос номер, дата регистрации.

Распределенной информационной системы и модели представления данных

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

  1. Полиморфизм – это возможность создания множественного определения для операций и функций. Какое определение будет использовано, зависит от программного кода. Он повышает степень абстрагирования при создании программных продуктов. Т.к. в этом случае задача программиста указать правильное действие, а не то, как его выполнять. Реализуется полиморфизм на языке С++ через механизм перегрузки и функции, и через механизм перегрузки операций языка.