В ниже приведенном коде метод checkForPresence()
должен в качестве параметра принимать группу, а не массив. Как это сделать?
public class Professor extends Group {
Professor(String groupCode, Students[] studentsList) {
super(groupCode, studentsList);
}
AbstractCheck auditForStudent;
public AbstractAudit checkForPresence() {
System.out.println("Проверка наличия студентов группы " + getGroupCode() + ":");
for (Students audit : getStudentsInGroup()) {
if (audit.isPresent())
auditForStudent = new Present();
else
auditForStudent = new Absent();
}
System.out.println(auditForStudent.checkForPresence());
return null;
}
}
Профессор (Professor
) не является группой (Group
), он только работает с ней. Следовательно, наследование здесь не нужно, но подойдет композиция.
Professor
принимает группу с которой будет работать (в реальности, это тоже должен быть список и он может быть изменен Professor
ом или Deparment
ом).
class Group {
private String id;
private Student[] list;
// getters & setters
}
У Group
есть id
и нам не нужно передавать его отдельно в конструктор Professor
а.
class Professor {
private Group group;
public Professor(Group group) {
this.group = group;
}
public AbstractAudit checkForPresence() {
System.out.println("Проверка наличия студентов группы " + group.getId() + ":");
for (Student student : group.getList()) {
...
}
return null;
}
}
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как можно массив байтов разделить на другие массивы между нулём, как это делает метод split со строками?
Во время сборки android-приложения появляется такая ошибка
Как сделать так, чтобы выполнялась проверка вводимых символов в строке? От "А" до "Я" и от "а" до "я"И если встречается символ, отличный от русского,...
Данная мне задача состоит в создании двух потоков, один из которых записывает значение в переменную, а другой после него считывает это значение...