在员工管理系统中,有普通员工,经理,董事三种角色,公司所有的员工都有员工Id,员工名字,
员工基本薪水(salary),请假天数(days);它们的区别是计算工资方式不一样。
具体工资计算办法:
所有人工资扣除部分:如果请假小于5天,基本工资发75%,大于5天,基本工资发50% ;
A、普通员工工资=基本工资+住房补贴(基本工资的0.1)+交通补贴(基本工资的0.3);
B、经理的工资=基本工资+住房补贴(基本工资的0.2)+交通补贴(基本工资的0.5)+医学补贴(500) ;
C、董事的工资=基本工资+住房补贴(基本工资的0.3)+交通补贴(基本工资的0.8)+医学补贴(2000)+娱乐补贴(3000) ;
编写测试类进行测试。
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Staff st=new Staff("5650 ","赵丽 ",3200,30);
Manage mam=new Manage("5655 ","王经理 ",8000,29);
Director did=new Director("5659 ","王总 ",80000,30);
st.calSalary();
st.show();
mam.calSum();
did.calSum();
did.calSalary();
}
}
public class Staff {
private String Id;
private String name;
private double salary;
private int days;
public Staff()
{
}
public String getId()
{
return Id;
}
public String getname()
{
return name;
}
public double getsalary()
{
return salary;
}
public int getdays()
{
return days;
}
public Staff(String Id,String name,double salary,int days)
{
this.Id=Id;
this.name=name;
this.salary=salary;
this.days=days;
}
public double calSalary()
{
double s;
if(days<5)
s=salary*0.75;
else
s=salary*0.5;
salary =s+s*0.1+s*0.3;
return salary;
}
public void show()
{
System.out.println("Id号:"+Id+"姓名:"+name+"工资:"+salary+"工作时间:"+days);
}
}
public class Manage extends Staff {
Staff sf=new Staff();
public Manage()
{
}
public Manage(String Id,String name,double salary,int days)
{
super(Id,name,salary,days);
}
public double calSum()
{
double num=super.getsalary();
num=super.getsalary()+super.getsalary()*0.2+super.getsalary()*0.5+500;
super.show();//System.out.println("Id号:"+this.Id+"姓名:"+this.name+"工资:"+this.salary+"工作时间:"+rhis.days);
return num;
}
}
public class Director extends Staff {
Staff sf=new Staff();
public Director()
{
}
public Director(String Id,String name,double salary,int days)
{
super(Id,name,salary,days);
}
public double calSum()
{
double num=super.getsalary();
num=super.getsalary()+super.getsalary()*0.2+super.getsalary()*0.5+500;
super.show();
return num;
}
}