Определения ООП Flashcards
Что такое абстракция?
Отделение концепции от ее экземпляра. Процесс выделения общих характеристик и функциональности объектов или системы, игнорируя детали реализации.
Что такое полиморфизм?
Это механизм, который позволяет объектам одного и того же класса проявлять разные формы поведения в зависимости от контекста их использования.
Что такое наследование?
Способность объекта или класса базироваться на другом объекте или классе. Это процесс, благодаря которому один объект может приобретать свойства другого
Что такое инкапсуляция?
Механизм сокрытия деталей реализации класса от других объектов
Что такое абстрактная функция? (или «чистая виртуальная функция»)
Это функция без определения, которую преопределяют дочерние коассы
Что такое дружественные функции?
Функции, которые не являются членами класса, однако имеют доступ к его закрытым членам — переменным и функциям, которые имеют спецификатор private
Что такое структура?
Группа связанных переменных.
Пользовательский тип данных, который позволяет объединить несколько переменных различных типов в одну единицу.
Производный тип данных, который представляет определенную сущность, так же как и класс.
Пример описания структуры:
struct Person {
char name[20];
int age;
float height;
};
Как называются переменные, составляющие структуру?
Члены, элементы, поля
Что такое член структуры?
Переменная, которая является частью структуры
Что является спецефикатором типа структуры?
Ее имя
Что такое объединение?
Это объект, позволяющий нескольким переменным различных типов занимать один участок памяти.
union union_type {
int i; char ch;
};
Как и для структур, можно объявить переменную, поместив ее имя в конце определения или используя отдельный оператор объявления. Для объявления переменной cnvt объединения union_type следует написать:
union union_type cnvt;
В cnvt как целое число i, так и символ ch занимают один участок памяти. Можно обратиться к данным, сохраненным в cnvt, как к целому числу, так и к символу.
Когда объявлено объединение, компилятор автоматически создает переменную достаточного размера для хранения наибольшей переменной, присутствующей в объединении.
Что такое перечисление?
Набор именованных целочисленных констант, определяющий все допустимые значения, которые может принимать переменная.
Как имя перечисления - ярлык, так и список переменных необязательны, но один из них должен присутствовать. Список перечислений - это разделенный запятыми список идентификаторов.
enum coin { penny, nickel, dime, quarter, half_dollar, dollar };
enum coin money;
В перечислениях каждому символу ставится в соответствие целочисленное значение и поэтому перечисления могут использоваться в любых целочисленных выражениях. Например:
printf(“The value of quarter is %d “, quarter);
Если явно не проводить инициализацию, значение первого символа перечисления будет 0, второго - 1 и так далее. Следовательно:
printf(“%d %d”, penny, dime); #выводит 0 2 на экран.
Можно определить значения одного или нескольких символов, используя инициализатор. Это делается путем помещения за символом знака равенства и целочисленного значения. При использовании инициализатора, символы, следующие за инициализационным значением, получают значение больше чем указанное перед этим. Например, в следующем объявлении quarter получает значение 100.
enum coin ( penny, nickel, dime, quarter=100, half_dollar, dollar);
Теперь символы получат следующие значения:
penny 0
nickel 1
dime 2
quarter 100
Half dollar 101
dollar 102
Как объявить определение?
С помощью ключевого слова union
Что такое множество?
Множество — коллекция уникальных элементов без определенного порядка.
Что такое мультимножество?
Коллекция уникальных элементов, которые могут повторяться