Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_ukazaiya.pdf
Скачиваний:
12
Добавлен:
15.11.2022
Размер:
776.66 Кб
Скачать

2 БАЗОВЫЕ ПОНЯТИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ

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

В основе ООП лежат два основных понятия: объект и класс.

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

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

бор конкретных значений определяет текущее состояние объекта.

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

События уведомления, получаемые или передаваемые объектом другим объектам или приложениям (например, щелчок кнопки мыши, нажатие клавиши).

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

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

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

21

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

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

это класс, собака Мухтар это объект, представитель или экземпляр класса «Со- бака».

Концепции ООП

К концепциям ООП относятся абстрагирование, инкапсуляция, наследование, полиморфизм.

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

вильного набора абстракций для заданной предметной области представляет собой основную задачу ООП.

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

22

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

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

Полиморфизм это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта; это свойство различных объектов выполнять одно и то же действие разными способами (метода- ми) для достижения требуемого результата. Например, полиморфизм позволяет в коде, предназначенном для работы с объектами класса «Телефон», использовать объекты подклассов «Радиотелефон» и «Сотовый телефон».

23

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]