class Employee{
private String name;
private int month;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public Employee(String name,int month) {
this.name=name;
this.month=month;
}
public double getSalary(int month) {
double salary=0;
if(this.month==month) {
salary+=100;
}
return salary;
}
}
class SalariedEmployee extends Employee{
private double monthSalary;
public double getMonthSalary() {
return monthSalary;
}
public void setMonthSalary(double monthSalary) {
this.monthSalary = monthSalary;
}
public SalariedEmployee(String name,int month, double monthSalary) {
super(name,month);
this. monthSalary=monthSalary;
}
public double getSalary(int month) {
double salary=this.monthSalary+super.getSalary(month);
return salary;
}
}
class HourlyEmployee extends Employee{
private double hourlySalary;
private int hours;
public double getHourlySalary() {
return hourlySalary;
}
public void setHourlySalary(double hourlySalary) {
this.hourlySalary = hourlySalary;
}
public int getHours() {
return hours;
}
public void setHours(int hours) {
this.hours = hours;
}
public HourlyEmployee(String name,int month, double hourlySalary,int hours) {
super(name,month);
this. hourlySalary=hourlySalary;
this.hours=hours;
}
public double getSalary(int month) {
double salary=super.getSalary(month);
if(this.hours>160) {
salary+=(this.hours-160)*hourlySalary*1.5 +160*hourlySalary;
}
else if(hours<=160 && hours>0){
salary+=this.hours*hourlySalary;
}
return salary;
}
}
class SalesEmployee extends Employee{
private double sales;
private double rate;
public double getSales() {
return sales;
}
public void setSales(double sales) {
this.sales = sales;
}
public double getRate() {
return rate;
}
public void setRate(double rate) {
this.rate = rate;
}
public SalesEmployee(String name,int month,double sales,double rate) {
super(name,month);
this.sales=sales;
this.rate=rate;
}
public double getSalary(int month) {
double salary=super.getSalary(month);
salary+=this.sales*rate;
return salary;
}
}
class BasePlusSalesEmployee extends SalesEmployee{
private double baseSalary;
public double getBaseSalary() {
return baseSalary;
}
public void setBaseSalary(double baseSalary) {
this.baseSalary = baseSalary;
}
public BasePlusSalesEmployee(String name,int month,double sales,double rate,double baseSalary) {
super(name, month, sales, rate);
this.baseSalary=baseSalary;
}
public double getSalary(int month) {
double salary=super.getSalary(month)+this.getBaseSalary();
return salary;
}
}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
SalariedEmployee se=new SalariedEmployee("张三",1,3500);
Employee[] employees= {se,new HourlyEmployee("李四",2,100,160),
new SalesEmployee("王五",3,20000,0.1),new BasePlusSalesEmployee("赵六",4,20000,0.05,2000)};
for(int i=0;i<employees.length;i++)
{
System.out.println(employees[i].getSalary(5));
}
}
}
Java复习.......
最新推荐文章于 2024-10-01 18:51:18 发布