- •1)Классы, объявление классов, спецификаторы доступа.
- •2)Классы, поля классов, инкапсуляция.
- •3)Методы и их реализация на примере класса «Комплексное число».
- •4)Создание объектов. Объекты и методы.
- •5)Конструкторы, виды конструкторов.
- •6) Конструктор по умолчанию, конструктор с параметрами.
- •7)Конструктор преобразования, конструктор копии.
- •8) Деструкторы
- •9)Перегрузка операций.
- •10) Стековые и динамические объекты, указатели и ссылки, достоинства и недостатки стековых объектов.
- •Размещение в стеке
- •Динамическое размещение
- •Указатели и ссылки
- •Недостатки стековых объектов
- •Достоинства стековых объектов
- •11) Указатели, арифметика указателей.
- •12)Указатель на константу, константный указатель, константный указатель на константу, константные аргументы функций, константные функции классов.
- •Константные переменные
- •Константы в перечислениях
- •Указатель на константу
- •Константный указатель
- •Константный указатель на константу
- •Константные аргументы функций
- •Неконстантные аргументы функций
- •Константные функции классов
- •13)Механизмы передачи параметров в функции, аргументы по умолчанию, указатель на функцию.
- •14)Дружественные функции (методы).
- •15)Статические поля и методы.
- •16) Инкапсуляция, ее реализация через понятие class.
16) Инкапсуляция, ее реализация через понятие class.
Объединение данных с функциями их обработки в сочетании со скрытием ненужной
для использования этих данных информации называется инкапсуляцией
(encapsulation). Эта идея не нова и применялась в структурном и модульном программировании,
а в ООП получила свое логическое завершение. Инкапсуляция
повышает степень абстракции программы: данные класса и реализация его функций
находятся ниже уровня абстракции, и для написания программы информация
о них не требуется. Кроме того, инкапсуляция позволяет изменить реализацию
класса без модификации основной части программы, если интерфейс
остался прежним (например, при необходимости сменить способ хранения данных
с массива на стек). Простота модификации, как уже неоднократно отмечалось,
является очень важным критерием качества программы.
Инкапсуляция позволяет использовать класс в другом окружении и быть уверенным,
что он не испортит не принадлежаш;ие ему области памяти, а также создавать
библиотеки классов для применения во многих программах.
В С++ она реализована через объявления class и struct в соединении с ключевыми словами private (закрытый), protected (защищенный) и public (открытый), определяющими уровень доступа. Без ключевого слова public члены класса по умолчанию закрыты и доступны только методам своего класса. Помним, что методы (функции-члены) вызываются с использованием оператора доступа к членам структуры - . точкой.