План лекции Предварительные замечания > Эволюция разработки программного обеспечения Предварительные замечания icon

План лекции Предварительные замечания > Эволюция разработки программного обеспечения Предварительные замечания


Смотрите также:
План лекции Предварительные замечания Введение Генезис современного российского капитализма:...
Литература
Моделирование требований к системе 29...
Предварительные замечания...
Предварительные замечания...
Предварительные замечания...
А. И. Яковлев Предварительные замечания...
Общая характеристика лекций Замечания по лекциям каждого преподавателя > Общие замечания и...
Доклад посвящен применению теории сетей Петри для моделирования процессов разработки...
«Компетенции членов команды разработки программного обеспечения»...
«Техническое задание»...
Современная концепция образовательной области «искусство» в школе Предварительные замечания...



Загрузка...
страницы: 1   2   3   4   5   6   7   8   9   10   11
вернуться в начало
скачать

3. ОБЪЕКТЫ


Предположим, нам надо описать яблоко в терминах программирования. Первое, что вам, вероятно, захочется сделать, - разломить яблоко: пусть S обозначает площадь кожицы; J - жидкий объем сока, который содержит яблоко; F - вес фрукта, а D - количество семян...

Это неверный путь мышления. Надо думать как художник. Он видит яблоко и рисует его. Рисунок яблока - это не яблоко, а символ, графическая модель яблока на плоской поверхности. Но он не абстрагирован до нескольких чисел, каждое из которых стоит отдельно и независимо в кaком-либо сегменте данных. Его компоненты связаны в единое целое, воспринимаемое нашим мозгом как яблоко.

Объекты моделируют свойства и поведение компонентов мира, в котором мы живем. Они являются и конечной абстракцией данных. Объекты связывают в единое целое свои свойства и поведение и обладают спецификой целого. Яблоко может быть разломлено, но после этого оно перестает быть яблоком. Отношения частей к целому и к другим частям более ясны, когда все связано вместе в одной оболочке. Это называется инкапсуляцией и представляет собой очень важное явление. Объекты - части мира, они же и конечные абстракции в ООП. Объектно-ориентированный подход предлагает описывать реальность в виде взаимодействия объектов (например, «клиент Иванов», «банкомат Агробанка», «счет № 1111», « корабль Геркулес», «автомобиль Петрова»).

Хотя из приведенных примеров интуитивно ясно, что такое объект, дать его четкое и приемлемое для всех определение достаточно сложно. Например, Гради Буч дает такое определение: «объект – это что-то, с чем можно оперировать. У объекта есть состояние, поведение и возможность отличить его от других объектов». Якобсон пишет: « Объект – это сущность, способная сохранять свое состояние (информацию) и обеспечивающая набор операций для проверки и изменения этого состояния».

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

- абстракция понятия: объект – это модель какого-то понятия предметной области;

- абстракция действия: объект – это набор операций для выполнения какой-либо функции;

- абстракция виртуальной машины: объект объединяет операции, которые используются другими, более высокими уровнями абстракции;

- случайная абстракция: объект объединяет не связанные между собой операции.

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

1. РЕАЛЬНЫЕ ОБЪЕКТЫ - абстракции фактического существования некоторых предметов в физическом мире (Труба, Насос, Бак, Самолет).
2. РОЛИ - абстракции цели или назначения человека, части оборудования или организации (Студент, Изоляционный клапан, Налогоплательщик, Избиратель)

3. ИНЦИДЕНТЫ - абстракция чего-то происшедшего или случившегося (Несчастный случай, Землетрясение, Выборы, Поставка).
4. ВЗАИМОДЕЙСТВИЯ - объекты, получаемые из отношений между другими объектами (Соединение, Контракт, Перекресток).
5. СПЕЦИФИКАЦИИ - используются для представления правил, стандартов или критериев качества (например, Рецепт - правило для приготовления определенного количества определенной пищи, в отличие от порции этой самой пищи).

Не менее значимым является и тот факт, что объекты могут наследовать свойства и поведение от того, что называют "объектами - прародителями".

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

Каждый объект характеризуется своим состоянием. Состояние объекта определяется текущими значениями его атрибутов. Атрибутами могут быть не только простые величины (числа, логические значения и т.п.), но и сложные величины, объекты. Часть атрибутов объекта может изменяться, часть – хранить неизменяемые значения.

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

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

Возможно, что для некоторых объектов разрешены любые операции с некоторыми атрибутами, например, координатами графической фигуры. Мы можем поместить эти атрибуты в интерфейс объекта. Тогда любые другие объекты могут непосредственно изменять координаты, перемещая объект по экрану. Фактически в таком случае интерфейс объекта состоит из методов «сообщить значение х», «установить значение х», «сообщить значение у», «установить значение у».

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

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




оставить комментарий
страница5/11
Дата28.09.2011
Размер0,7 Mb.
ТипЛекция, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы: 1   2   3   4   5   6   7   8   9   10   11
отлично
  2
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

наверх