Ответы на контрольные вопросы по лекции 5
.docxОтветы на контрольные вопросы по лекции 5
Дисциплина: объектно-ориентированное программирование
Студент: Заболотников М.Е.
Группа: 9373
Что такое класс и объект? Что они представляют собой с точки зрения предметной области с одной стороны и программы с другой?
Класс – это пользовательский тип данных, описывающий наиболее существенные свойства предметов и понятий предметной области, стереотипы их поведения и место в их окружении. Объект же – это переменная, создаваемая по шаблону, описываемому классом.
С точки зрения предметной области, класс представляет из набор абстрактных предметов изучаемой области, обладающих какими-то конкретными свойствами, а объект – это конкретный предмет этой области. А точи зрения программы, класс – это тип данных, а объект – это переменная.
В чем заключается принцип инкапсуляции ООП? Какие выделяют области видимости в классе и в чем их суть?
Принцип инкапсуляции в ООП заключается в заключении данных и функционала в оболочку. В частности, этот принцип подразумевает под собой заключения свойств и методов объектов в один класс. Выделяют три области видимости в классе: public, private и protected. Суть их состоит в следующем:
public – это область, в которой описываются члены класса, образующие его интерфейс;
private – это область скрывает свои описания от окружения, эти члены класса могут использоваться только в реализации (алгоритмах) методов самого класса;
protected – эта область видимости похожа на private, только при попытке использовать оттуда атрибуты вне класса программа выдаст ошибку, чего не случится при работе с областью видимости private.
Что общего и в чем различие классов, описываемых как class, struct, union?
Их общая черта заключается в том, что всё это способы описания класса как структурного типа данных. Однако отличаются они тем, что при описании class и struct память выделяется для всех свойств, а в union выделяется количество памяти, равное максимальному количеству памяти, которое занимает какое-либо свойство.
Что из себя представляют атрибуты и методы классов? Чем отличаются различные объекты одного и того же класса?
Атрибуты класса – это свойства, выражающиеся какими-то конкретными значениями, а методы – это функции, которые производят какие-то операции над атрибутами.
Объекты одного класса могут отличаться значением атрибутов.
Что такое конструктор и деструктор? Сколько их может быть?
Конструктором класса называется специальный метод класса, который выполняется при создании объекта класса. Деструктор класса – метод, отвечающий за удаление объекта класса из памяти. В то время как конструкторов может быть несколько, деструктор должен быть лишь один.
Что такое конструктор копирования? Для чего он используется?
Конструктор копирования, по умолчанию, выполняет функцию создания структуры данных объекта класса и заполнения его полей значениями объекта-инициализатора.
В чем отличие переменной, указателя на переменную и ссылки на переменную?
Переменная – это объект, занимающий определённую область памяти и несущий в себе какую-то информацию. Указатель – эта переменная, которая уже сразу хранит в себе адрес другой переменной. Ссылка же – это альтернативное имя переменной. Она обычно используется как аргумент функции, когда функция получает информацию о переменной по ссылке.