公司每周支付员工工资。员工包括3种类型:正式员工支付固定工资;钟点工按照小时支付工资,如果工作总时间超过40小时,超过的每小时还要额外付加班费,加班费为每小时薪酬的1.5倍。代理员工的工资按照其销售额的百分比提成。请编程实现一个显示工资单的程序。
父类“员工”(Employee),属性包括员工ID、姓名,打印ID和姓名的方法,成员函数earning计算员工的工资,返回一个double数值。函数print输出员工的ID和姓名。
三个子类
正式员工(SalariedEmployee)的属性包括每周的固定工资。
钟点工(HourlyEmployee)的属性包括每周工作的小时数和每小时的报酬。
代理员工(CommissionEmployee)的属性包括每周的销售额和提成的比例。
成员函数earning计算员工的工资
创建如下类,判断你的程序是否正确
public Company {
public static void main(String[] args) {
Employee emp1 = new SalariedEmployee(1, "John", 800 );//初始化参数为ID、姓名、固定工资
Employee emp2 = new HourlyEmployee(2,"Karen", 16, 40);//初始化参数为ID、姓名、小时工资、工作小时数
Employee emp3 = new CommissionEmployee(4,"Sue",10000, 0.06 ); //初始化参数为ID、姓名、销售额、提成比例
emp1.print();
System.out.println("Earning is " + emp1.earning());
emp2.print();
System.out.println("Earning is " + emp2.earning());
emp3.print();
System.out.println("Earning is " + emp3.earning());
}
}
|