- •1 Базовые принципы объектно-ориентированного программирования.
- •2 Базовые блоки ооп, объект и класс.
- •3 Реализация механизма сокрытия информации.
- •4 Основные свойства и правила использования конструкторов.
- •5 Правила использования деструкторов.
- •6 Директивы процессору.
- •8 Декларация, инициализация указателя. Операции над указателями.
- •9 Операторы для динамического выделения и освобождения памяти.
- •11 Указатели и динамические массивы.
- •12 Механизм «функции-друга».
- •13 Свойства и правила использования структур и объединений.
- •14 Перегрузка операторов.
- •15 Наследование. Производные классы.
- •1 Дублирование (числа, температура)
- •2 Миним и макси (произведение, количество)
- •3 Поиск столбцов (нулевой элемент, оценка)
- •4 Функция div() (искл ситуация)
- •5 Дружественная функция (класс)
- •Int isneg(myclass ob)
- •Int isneg(myclass ob)
- •6 Вычисление выражения
1 Базовые принципы объектно-ориентированного программирования.
Инкапсуляция (пакетирование) представляет собой механизм, связывающий вместе данные и код, обрабатывающий эти данные, и сохраняющий их от внешнего воздействия и ошибочного использования.
Полиморфизм - принцип (подход), обеспечивающий возможность использования одного и того же кода для решения разных задач.
Наследование представляет собой процесс, благодаря которому один объект может наследовать (приобретать) свойства от другого объекта
Абстрагирование - процесс выделения абстракций в предметной области задачи.
Ограничение доступа- сокрытие отдельных элементов реализации абстракции, не затрагивающих существенных характеристик ее как целого.
Модульность - принцип разработки программной системы, предполагающий реализацию ее в виде отдельных частей (модулей).
Типизация - ограничение, накладываемое на свойства объектов и препятствующее взаимозаменяемости абстракций различных типов (или сильно сужающее возможность такой замены
Параллелизм - свойство нескольких абстракций одновременно находиться в активном состоянии, т. е. выполнять некоторые операции.
Реализация - это внутреннее свойство объекта.
ООП необходимо:
определить задачу;
определить уникальные объекты в области решаемой задачи;
взаимосвязь между объектами;
создать классы объектов, определяя переменные, представляющие всевозможные состояния, в которых может находиться объект;
определить сообщения, принимаемые каждым объектом, и коды функций, согласно которым объект будет реагировать на эти сообщения. Оформить их как функции-члены некоторых классов;
объявить объекты данных классов;
определить начальное состояние системы;
скомпилировать, скомпоновать систему.
Основное достоинство ООП - сокращение количества межмодульных вызовов и уменьшение объемов информации, передаваемой между модулями.
Язык программирования называется объектно-ориентированным, если:
1.он поддерживает абстрактные типы данных (объекты с определенным интерфейсом и скрытым внутренним состоянием);
2.объекты имеют связанные с ними типы (классы);
3.поддерживается механизм наследования.
2 Базовые блоки ооп, объект и класс.
Базовыми блоками ООП являются объект и класс.
Объект С++ - абстрактное описание некоторой сущности.
Определить объект можно через свойства: состояние и поведение, которые однозначно идентифицируют объект.
Состояние объекта объединяет все его поля данных (статическая компонента) и текущие значения каждого из этих полей (динамическая компонента).
Поведение объекта определяет, как объект изменяет свои состояния и взаимодействует с другими объектами.
Идентификация объекта позволяет выделить объект из числа других объектов.
Говоря о реализации объекта, мы подразумеваем особенности реализации функций соответствующего класса
Объект включает в себя все данные, необходимые, чтобы описать сущность, и функции или методы, которые манипулируют этими данными.
Одним из основных, базовых понятий объектно-ориентированного программирования является понятие класса.
Класс - это множество объектов, имеющих общую структуру и поведение.
Класс позволяет определить объекты данных и связать с ними операции и функции.
Класс определяет новый тип данных, объединяющих данные и код (функции обработки данных), и используется для описания объекта.
Основная идея класса как абстрактного типа заключается в разделении интерфейса и реализации.
Интерфейс показывает, как можно использовать класс. При этом совершенно не важно, каким образом соответствующие функции реализованы внутри класса.
Реализация - внутренняя особенность класса. Одно из требований к реализации - критерий изоляции кода функции от воздействия извне. Это достигается использованием локальных компонент данных и функций.
Интерфейс и реализация должны быть максимально независимы друг от друга, то есть изменение кода функций класса не должно изменять интерфейс.
Данные класса называются полями, а функции класса – методы. Поля и методы называются элементами класса. Описание класса выглядит приблизительно так:
class <имя> { [ private: ] < описание скрытых элементов > public: < описание доступных элементов >};
Поля класса: - могут иметь любой тип, кроме типа того же класса; - могут быть описаны с модификатором const и не могут изменяться; - могут быть описаны с модификатором static. Классы могут быть глобальными (объявление вне любого блока) и локальными (объявление внутри блока).