JAVA第15次上机作业

public class ColaEmployee {

 String name;

 int month;

 public ColaEmployee() {

 }

 public ColaEmployee(String name,int month){

  this.name=name;

  this.month=month;

 }

 public double getSalary(int month) {

  return 0;

 }

}

public class SalariedEmployee extends ColaEmployee{

 double monSalary;

 public SalariedEmployee(String name,int month,double monSalary) {

  super(name,month);

  this.monSalary=monSalary;

 }

 public double getSalary(int month) {

  if (super.month==month) {

   return monSalary +100;

  }else {

   return monSalary;

  }

 }

}

public class HourlyEmployee extends ColaEmployee{

  private int hourSalary;

  private int hourNum;

  public HourlyEmployee(String name, int month,int hourSalary,int hourNum) {

   super(name,month);

   this.hourSalary=hourSalary;

   this.hourNum=hourNum;

  }

  public double getSalary(int month) {

  if(super.month==month) {

   if (hourNum>160) {

    return hourSalary*160+hourSalary*(hourNum-160)*1.5+100;

   }else {

    return hourSalary*hourNum+100;

   }

  }else {

   if (hourNum>160) {

    return hourSalary*160+hourSalary*(hourNum-160)*1.5;

   }else {

    return hourSalary*hourNum;

   }

  }  

  }

}

public class SalesEmployee extends ColaEmployee {

  private int monthSales;

  private double royaltyRate;

 public SalesEmployee(String name, int month,int monthSales,double royaltyRate) {

  super(name, month);

  this.monthSales = monthSales;

  this.royaltyRate = royaltyRate;

  }

 public double getSalary(int month) {

        if(super.month == month) {

            return monthSales * royaltyRate + 100;

        }else {

            return monthSales * royaltyRate;

        }

    }

}

public class Company {

 public void getSalary(ColaEmployee c,int month) {

   System.out.println(c.name + "在" + month + 

       "月的月薪为" + c.getSalary(month)+"元");

 }

}

public class TestCompany {

 public static void main(String[] args) {

  ColaEmployee[] cel = {

                new SalariedEmployee("salariedEmployee", 6, 30000),

            new HourlyEmployee("hourlyEmployee", 5, 100, 300),

           new SalesEmployee("salesEmployee", 3, 7000000, 0.3)

                };

        for (int i = 0; i < cel.length; i++) {

            new Company().getSalary(cel[i],7);

        }

 }

}

猜你喜欢

转载自www.cnblogs.com/2Wass-up/p/12901871.html