Файл: Отчет по лабораторной работе 2 по дисциплине Объектноориентированное программирование.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 12.12.2023

Просмотров: 63

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИФедеральное государственное автономное образовательное учреждение высшего образования«Омский государственный технический университет»Факультет информационных технологий и компьютерных системКафедра «Информатика и вычислительная техника»ОТЧЕТпо лабораторной работе №2по дисциплине «Объектно-ориентированное программирование»Выполнил студентгруппы ИВТ-212 Проверил ст. преподавательСтепанов П.П._______________________Омск, 2022Задание: Используя Visual Studio, создать проект по шаблону Console Application.Требуется:

  • создать класс, представляющий учебный класс ClassRoom;

  • создать класс Pupil (ученик).

  • В теле класса создать методы: Study(); Read(); Write(); Relax();

  • создать три производных класса на основе базового класса Pupil: ExcelentPupil; GoodPupil; BadPupil;

  • – преобразовать перечисленные три производных класса запечатанными и переопределить каждый из методов в зависимости от успеваемости ученика.
Конструктор класса ClassRoom принимает аргументы типа Pupil, класс должен состоять из четырех учеников. 45 Необходимо предусмотреть возможность того, что пользователь может передать два или три аргумента.

  • Реализовать статическое поле «Количество учеников» в классе ClassRoom.

  • К классу Pupil реализовать виртуальное свойство, доступное только для чтения GetCurrentGrade, позволяющее возвращать текущую оценку ученика (случайное число от 2 до 5).

  • В классах-наследниках перегрузить свойство GetCurrentGrade так, чтобы вероятность получения хорошей оценки у способных учеников была выше.

  • В классе ClassRoom реализовать свойство GetRoundGrade, вычисляющее средний балл по группе.

  • Написать 10 unit-тестов, проверяющих корректность работы программы.

Реализация класса ClassRoom:Рис. 1 – Класс ClassRoomРис. 2 - Класс ClassRoomРеализация базового класса Pupil:Рис.3 – Класс PupilРис. 4 – Класс PupilРеализация производного класса GoodPupil:Рис. 5 – Класс GoodPupilРис. 6 – Класс GoodPupilРеализация производного класса BadPupil:Рис. 7 – Класс BadPupilРис. 8 – Класс BadPupilРеализация производного класса ExcelentPupil:Рис. 9 – Класс ExcelentPupilРис. 10 – Класс ExcelentPupilUnit – тесты:Рис. 11 – Unit – тестыРис.12 – Unit – тестыР ис. 13 - Unit – тестыРис. 14 - Unit – тесты