Загрузка данных


Контрольные вопросы

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

2. Перечислите и поясните ключевые принципы ООП.

* Наследование — создание нового класса на основе существующего класса.
* Полиморфизм — возможность использовать один интерфейс для разных типов объектов.
* Инкапсуляция — объединение данных и методов внутри класса и ограничение доступа к данным.
* Абстракция — выделение главных характеристик объекта и скрытие ненужных деталей.

3. Что такое класс? Каковы его основные компоненты?
Класс — это шаблон, по которому создаются объекты. Основными компонентами класса являются поля, методы, конструкторы и деструкторы.

4. Как объекты связаны с классами в ООП?
Класс является описанием объекта, а объект — конкретным экземпляром класса. Например, класс Athlete описывает спортсмена, а объект содержит данные конкретного спортсмена.

5. Для чего используется наследование? Приведите пример.
Наследование позволяет создать новый класс на основе другого и использовать его поля и методы. Например, класс FootballPlayer может наследоваться от класса Athlete.

6. Объясните понятие полиморфизма и как он реализуется в C++.
Полиморфизм позволяет одному имени или интерфейсу выполнять разные действия. В C++ он реализуется с помощью перегрузки функций и виртуальных функций (virtual).

7. Как инкапсуляция обеспечивает безопасность данных?
Инкапсуляция ограничивает прямой доступ к данным класса. Например, поля можно сделать private, а изменять их через специальные методы. Это предотвращает неправильное изменение данных.

8. Что такое конструкторы и деструкторы? Когда они вызываются?
Конструктор — специальный метод, который автоматически вызывается при создании объекта и используется для его начальной настройки.
Деструктор — специальный метод, который вызывается при удалении объекта и используется для освобождения ресурсов.

Вывод:
В ходе выполнения лабораторной работы были изучены основные принципы объектно-ориентированного программирования: наследование, полиморфизм, инкапсуляция и абстракция. Был создан класс Athlete с необходимыми полями для хранения информации о спортсмене. Реализован ввод данных через консоль и их сохранение в текстовый файл. В результате работы были получены навыки создания классов, объектов и работы с файлами.