Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Держіспит Матеріали.doc
Скачиваний:
1
Добавлен:
24.08.2019
Размер:
324.1 Кб
Скачать

28

ЗНТУ

Кафедра системного аналізу і обчислювальної математики

Матеріали для підготовки до держіспиту

2011 р.

Програмування

1. Об’єкти. Поняття об’єкту у процедурному та об’єктно-орієнтованому програмуванні

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

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

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

Атрибутами объекта являются: адрес, размер, идентификатор, значение, тип.

Адрес объекта это адрес его первого байта.

Размер - величина объекта в байтах.

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

1) сфера действия;

2) область видимости;

3) пространство имен.

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

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

Пространство имен - область программы, в пределах которой данный идентификатор должен быть уникальным. Пространство имен может быть: глобальным или локальным, именованным или не именованным.

Значение объекта - информация, которая заносится в объект путем выполнения операций инициализации, присваивания или ввода. Объект может находиться в двух состояниях: инициализирован (определен) и не инициализирован (не определен). Не инициализированный объект представляет собой потенциальную угрозу для правильности выполнения программы, создавая предпосылки для появления ошибок периода выполнения.

Тип объекта определяет:

- множество, которому могут принадлежать его значения;

- способ двоичного представления значения;

- правила (алгоритмы) выполнения операций над значениями объекта;

- размер объекта.

По способу создания и удаления все объекты можно разделить на три категории:

a) статические (глобальные),

б) локальные,

в) динамические.

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

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

Динамические объекты создаются операциями new и new[] и удаляются при выполнении операций delete и delete[]. Размещаются они в куче (heap-область памяти).

Объекты в ООП

Особенности объектов в ООП:

- объект является структурированным;

- объект может включать в себя объекты (рекурсивные включения запрещены: объект не может включать в себя самого себя);

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

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

Информация, которую содержит объект, включает: информацию о свойствах и информацию о состоянии объекта.

Поведение объекта: определяется ассоциированными с ним функциями и процедурами.

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