1. Спроектируйте 2 класса заданной предметной области. Каждый класс должен иметь минимум 1-2 атрибуты (для него / них должна быть пара методов типа get i set), минимум 2 конструкторы (без параметров и с параметрами) и один специфический метод.
Классы должны быть связаны отношением агрегации или наследования. Указать тип отношения для вашего ватианту.
2. Создать программу, которая демонстрирует работу с данными классами (создает минимум 2 объекта и использует специфический метод класса, указанный в варианте)
3. Разместите классы в отдельном пакете
4. Прокомментируйте классы и создайте АРЕ-документацию к ним.
задание-Университет: человек, студент (специфический метод - показать средний балл студента)
кто сможет сделать?
Main.java
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> iMarks = new ArrayList<Integer>();
iMarks.add(5);
iMarks.add(3);
iMarks.add(4);
iMarks.add(5);
Student Std1 = new Student(iMarks);
Student Std2 = new Student();
Std2.addMark(4);
Std2.addMark(2);
Std2.addMark(3);
Std2.addMark(2);
System.out.println("Student 1: " + Std1.getAverage());
System.out.println("Student 2: " + Std2.getAverage());
}
}
Student.java
import java.util.ArrayList;
public class Student extends Human {
ArrayList<Integer> iMarks = new ArrayList<Integer>();
Student(ArrayList<Integer> iMarks) {
this.iMarks = iMarks;
}
Student() {
}
@Override
public void addMark(int iMark) {
iMarks.add(iMark);
}
@Override
public int getAverage() {
int iAvarage = 0;
if (!iMarks.isEmpty()) {
for (int i = 0; i < iMarks.size(); i++) {
iAvarage += iMarks.get(i);
}
return Math.round(iAvarage / iMarks.size());
} else {
return -1;
}
}
}
Human.java
public abstract class Human {
Human() {}
public abstract void addMark(int iMark);
public abstract int getAverage();
}