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

1 Базовые принципы объектно-ориентированного программирования.

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

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

Наследование представляет собой процесс, благодаря которому один объект может наследовать (приобретать) свойства от другого объекта

Абстрагирование - процесс выделения абстракций в предмет­ной области задачи.

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

Модульность - принцип разработки программной системы, пред­полагающий реализацию ее в виде отдельных частей (модулей).

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

Параллелизм - свойство нескольких абстракций одновременно находиться в активном состоянии, т. е. выполнять некоторые операции.

Реализация - это внутреннее свойство объекта.

ООП необходимо:

 определить задачу;

 определить уникальные объекты в области решаемой задачи;

 взаимосвязь между объектами;

 создать классы объектов, определяя переменные, представляющие всевозможные состояния, в которых может находиться объект;

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

 объявить объекты данных классов;

 определить начальное состояние системы;

 скомпилировать, скомпоновать систему.

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

Язык программирования называется объектно-ориентированным, если:

1.он поддерживает абстрактные типы данных (объекты с определенным интерфейсом и скрытым внутренним состоянием);

2.объекты имеют связанные с ними типы (классы);

3.поддерживается механизм наследования.

2 Базовые блоки ооп, объект и класс.

Базовыми блоками ООП являются объект и класс.

Объект С++ - абстрактное описание некоторой сущности.

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

Состояние объекта объединяет все его поля данных (статическая компонента) и текущие значения каждого из этих полей (динамическая компонента).

Поведение объекта определяет, как объект изменяет свои состояния и взаимодействует с другими объектами.

Идентификация объекта позволяет выделить объект из числа других объектов.

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

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

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

Класс - это множество объектов, имеющих общую структуру и поведение.

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

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

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

Интерфейс показывает, как можно использовать класс. При этом совершенно не важно, каким образом соответствующие функции реализованы внутри класса.

Реализация - внутренняя особенность класса. Одно из требований к реализации - критерий изоляции кода функции от воздействия извне. Это достигается использованием локальных компонент данных и функций.

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

Данные класса называются полями, а функции класса – методы. Поля и методы называются элементами класса. Описание класса выглядит приблизительно так:

class <имя> { [ private: ] < описание скрытых элементов > public: < описание доступных элементов >};

Поля класса: - могут иметь любой тип, кроме типа того же класса; - могут быть описаны с модификатором const и не могут изменяться; - могут быть описаны с модификатором static. Классы могут быть глобальными (объявление вне любого блока) и локальными (объявление внутри блока).