Вопрос 20
объекты – некоторые целостные сущности, обладающие определенным поведением.
Объект → Состояния и методы
Классы – множества однотипных объектов с одинаковым поведением и набором атрибутов.
Встроенные и обычные методы
Встроенный метод определяется внутри класса. Метод может быть определен вне класса, тогда внутри класса указывается только его заголовок.
Вопрос 22
Конструктор – метод предназначенный для инициализации объекта, выполняющийся автоматически в момент его создания.
Конструктор имеет имя, совпадающее с именем класса.
Конструктор не возвращает значение.
Класс может иметь несколько перегруженных конструкторов с разными параметрами.
Конструктор по умолчанию – не имеет параметров. Для любого класса автоматически создается такой конструктор.
Конструктор может иметь параметры со значениями по умолчанию.
Деструторы удаляют классы. Записываются, как ~<имя класса>
Классы могут быть глобальными (объявленными вне любого блока) и локальными (объявленными внутри блока, например, функции или класса).Локальные классы не могут иметь статических элементов, все методы должны быть описаны внутри класса.
При определении метода вне класса в его заголовке указывается имя класса с использованием операции доступа к области видимости (::).
Вопрос 23
Принципы ООП
Инкапсуляция (объединение данных с методами в сочетании со скрытием данных)
Абстракция (расширяемость системы классов)
Наследование (повторное использование методов и атрибутов)
Полиморфизм (переопределение методов и гибкий выбор метода во время выполнения программы)
В языках программирования инкапсуляция имеет одно из следующих значений, либо их комбинацию:
языковой механизм ограничения доступа к определённым компонентам объекта;
языковая конструкция, способствующая объединению данных с методами (или другими функциями), обрабатывающими эти данные.
Сокрытие реализации целесообразно применять в следующих целях:
предельная локализация изменений при необходимости таких изменений,
прогнозируемость изменений (какие изменения в коде нужно сделать для заданного изменения функциональности) и прогнозируемость последствий изменений.
Вопрос 24
Классы могут быть организованы в иерархическую структуру с наследованием свойств. Дочерний класс (или подкласс) наследует атрибуты родительского класса (или надкласса), расположенного выше в иерархическом дереве.
Описание класса
class имя : [доступ] баз. класс
{ описание класса
};
Доступ:
private
protected
public
Правила наследования
Конструкторы не наследуются. Если конструктор базового класса явно не вызван, то вызывается конструктор по умолчанию (без параметров).
Не наследуется операция присваивания.
Деструкторы не наследуются. Деструктор по умолчанию вызывает деструктор базового класса.
Множественное наслдование
Множественное наследование — свойство, поддерживаемое частью объектно-ориентированных языков программирования, когда класс может иметь более одного суперкласса(непосредственного класса-родителя).
class A
{ …
};
class B
{ …
};
class C: public A, public B
{ …
};
