Files
aston-team-project/docs/tasks/Student.md
T

47 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Техническое задание: класс `Student`
## Задача
Реализовать класс `Student` как единственную точку проверки корректности данных. Объект класса `Student` не может быть создан с некорректными данными.
## Требования
1. Класс `Student` содержит три поля:
- `groupNumber`;
- `averageGrade`;
- `recordBookNumber`.
2. Все поля должны быть `private` и неизменяемыми после создания объекта.
3. Проверка корректности данных должна находиться в классе `Student`.
4. Реализовать класс `StudentBuilder` для создания объектов `Student`.
5. В `StudentBuilder` реализовать методы:
- `setGroupNumber(...)`;
- `setAverageGrade(...)`;
- `setRecordBookNumber(...)`;
- `build()`.
6. Метод `build()` должен создавать только корректный объект `Student`. При некорректных данных должно выбрасываться исключение.
7. Реализовать для `Student`:
- методы получения значений полей;
- `toString()`;
- `equals()`;
- `hashCode()`.
## Результат
Должны быть реализованы два независимых класса:
```text
Student.java
StudentBuilder.java
```
Классы не должны зависеть от сортировки, коллекции, меню и ввода данных.