编写一个程序,要求设置一个Employee 类和一个Manager类,经理类继承雇员类的获取名字、工资、日期方法,经理类添加一个获取奖金的方法,经理的工资为奖金与基本薪水的总额,打印出所有雇员和经历的名字,工资,日期。
package inheritance;
import java.time.*;
public class ManagerTest {
public static void main(String[] args) {
Manager boss=new Manager("Carl Cracker",80000,1987,12,15);
boss.setBouns(5000);
Employee[] staff=new Employee[3];
staff[0]=boss;
staff[1]=new Employee("Harry",50000,1989,10,1);
staff[2]=new Employee("Tommy",40000,1990,3,15);
for(Employee e:staff) System.out.println("name="+e.getName()+",salary="+e.getSalary()+",hireDay="+e.getHireDay());
}
}
public class Employee {
private String name;
private double salary;
private LocalDate hireDay;
public Employee(String n,double s,int year,int month,int day){
name=n;
salary=s;
hireDay=LocalDate.of(year,month,day);
}
public String getName(){
return name;
}
public double getSalary(){
return salary;
}
public LocalDate getHireDay(){
return hireDay;
}
public void raiseSalary(double percent){
double raise=salary*percent/100;
salary+=raise;
}
}
public class Manager extends Employee{
private double bouns;
public Manager(String n,double s,int year,int month,int day){
super(n,s,year,month,day);
bouns=0;
}
public double getSalary(){
double baseSalary=super.getSalary();
return baseSalary+bouns;
}
public void setBouns(double b){
bouns=b;
}
}
输出结果: