Реалізуйте перевантаження операторів для класів Student
і Group
. Логіка порівняння базується на середньому балі для студентів та кількості студентів для груп.
- Оператор
==
: Порівняння студентів за середнім балом по оцінках. Якщо середній бал однаковий — повернутиtrue
, якщо різні —false
. - Оператори
>
та<
: Порівняння студентів за середнім балом (вищий бал — "більший" студент). - Оператори
=
та!=
: Порівняння студентів за середнім балом (аналогічно==
та!=
).
- Оператор
==
: Порівняння груп за кількістю студентів. Якщо кількість однакова — повернутиtrue
, якщо різна —false
. - Оператори
>
та<
: Порівняння груп за кількістю студентів (більша кількість — "більша" група). - Оператори
=
та!=
: Порівняння груп за кількістю студентів (аналогічно==
та!=
).
Додайте індексатор до класу Group
для зручного доступу до студентів. Індексатор повинен дозволяти пошук за прізвищем студента.
- Індексатор
[]
: Доступ до студентів з групи за прізвищем (наприклад,group["Шевченко"]
повертає студента з таким прізвищем). Якщо не знайдено — повернутиnull
або викинути виняток.
Додайте відповідні властивості до класів Student
і Group
. Збережіть приватні поля та геттери/сеттери, якщо вони є. Використовуйте властивості для інкапсуляції даних.
- Додайте властивості:
Name
(ім'я),Lastname
(прізвище),Age
(вік),AverageGrade
(середній бал).
- Додайте властивості:
Count
(кількість студентів),Specialization
(спеціалізація),Course
(курс).
- Приватні поля та геттери/сеттери: Не видаляйте їх — інтегруйте з новими властивостями.
- Тестування: У методі
Main
продемонструйте доступ до властивостей (встановлення та отримання значень). - Джерела: Прочитайте розділ 10 "Properties" з книги "CLR via C#" Джеффрі Ріхтера (4-е видання). Подивіться відео-огляд книги "CLR via C# (Jeffrey Richter)" на YouTube.