Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ответы на контрольные вопросы по лекции 5

.docx
Скачиваний:
11
Добавлен:
20.06.2023
Размер:
16.7 Кб
Скачать

Ответы на контрольные вопросы по лекции 5

Дисциплина: объектно-ориентированное программирование

Студент: Заболотников М.Е.

Группа: 9373

  1. Что такое класс и объект? Что они представляют собой с точки зрения предметной области с одной стороны и программы с другой?

Класс – это пользовательский тип данных, описывающий наиболее существенные свойства предметов и понятий предметной области, стереотипы их поведения и место в их окружении. Объект же – это переменная, создаваемая по шаблону, описываемому классом.

С точки зрения предметной области, класс представляет из набор абстрактных предметов изучаемой области, обладающих какими-то конкретными свойствами, а объект – это конкретный предмет этой области. А точи зрения программы, класс – это тип данных, а объект – это переменная.

  1. В чем заключается принцип инкапсуляции ООП? Какие выделяют области видимости в классе и в чем их суть?

Принцип инкапсуляции в ООП заключается в заключении данных и функционала в оболочку. В частности, этот принцип подразумевает под собой заключения свойств и методов объектов в один класс. Выделяют три области видимости в классе: public, private и protected. Суть их состоит в следующем:

  1. public – это область, в которой описываются члены класса, образующие его интерфейс;

  2. private – это область скрывает свои описания от окружения, эти члены класса могут использоваться только в реализации (алгоритмах) методов самого класса;

  3. protected – эта область видимости похожа на private, только при попытке использовать оттуда атрибуты вне класса программа выдаст ошибку, чего не случится при работе с областью видимости private.

  1. Что общего и в чем различие классов, описываемых как class, struct, union?

Их общая черта заключается в том, что всё это способы описания класса как структурного типа данных. Однако отличаются они тем, что при описании class и struct память выделяется для всех свойств, а в union выделяется количество памяти, равное максимальному количеству памяти, которое занимает какое-либо свойство.

  1. Что из себя представляют атрибуты и методы классов? Чем отличаются различные объекты одного и того же класса?

Атрибуты класса – это свойства, выражающиеся какими-то конкретными значениями, а методы – это функции, которые производят какие-то операции над атрибутами.

Объекты одного класса могут отличаться значением атрибутов.

  1. Что такое конструктор и деструктор? Сколько их может быть?

Конструктором класса называется специальный метод класса, который выполняется при создании объекта класса. Деструктор класса – метод, отвечающий за удаление объекта класса из памяти. В то время как конструкторов может быть несколько, деструктор должен быть лишь один.

  1. Что такое конструктор копирования? Для чего он используется?

Конструктор копирования, по умолчанию, выполняет функцию создания структуры данных объекта класса и заполнения его полей значениями объекта-инициализатора.

  1. В чем отличие переменной, указателя на переменную и ссылки на переменную?

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