Давайте начнем с 3 полей id, name и Salary for Employee, а менеджер получает дополнительный бонус поля. К зарплате Manager будет добавлен бонусный компонент к зарплате.
Для класса Employee создайте конструктор аргумента и установите все поля. Создайте получатели для требуемых полей.
public class Employee {
protected int id;
protected String Name;
protected double Salary;
public Employee(int id, String name, double salary) {
this.id = id;
this.Name = name;
this.Salary = salary;
}
public int getId() {
return id;
}
public String getName() {
return Name;
}
public double getSalary() {
return Salary;
}
}
Класс Manager теперь будет расширять класс Employee. Исходя из этого требования, единственное различие между сотрудником и менеджером - это компонент заработной платы. Поскольку все поля в классе Employee установлен как защищенный, и мы расширяем класс Employee, состояние поля можно изменить в дочернем классе. В классе «Конструктор менеджера» зарплата будет рассчитываться как зарплата + бонус.
public class Manager extends Employee {
private double bonus;
public Manager(int id, String name, long salary,double bonus) {
super(id, name, salary);
this.bonus = bonus;
this.Salary = salary + this.bonus;
}
public static void main(String[] args)
{
Manager mng = new Manager(1,"Manager",10000,100);
Employee emp = new Employee(2,"Employer",10000);
System.out.println("MANAGER SALARY " + mng.getSalary()+" "+mng.getId());
System.out.println("EMPLOYER SALARY " + emp.getSalary()+" "+emp.getId());
}
}