按以下要求补充代码。
① 定义一个抽象(abstract)类,类名为 Employee。 Employee 的子类有 YearWorker、
MonthWorker 和 WeekWorker。 ② YearWorker 对象按年领取薪水 (每年 15 万),MonthWorker 对象按月领取薪水(每月
1 万),WeekWorker 对象按周领取薪水(每周 0.5 万,设定一个月 4 周)。 ③ Employee 类有一个抽象方法: public abstract double earnings(); 子类必须重写父类
的 earnings()方法,给出各自领取每年报酬的具体方式。
④ 定义一个 Company 类,该类用 Employee 数组作为成员,Employee 数组元素可以存 储 YearWorker 对象、MonthWorker 对象、WeekWorker 对象。 ⑤ 程序能输出 Company 对象一年需要支付的薪水总额。
/*
Author @liwei
email @1525615956@qq.com
data @2020-10-12
*/
abstract class Employee{
public abstract double earnings();
}
class YearWorker extends Employee{
public double earnings()
{
double money=15000,count=1;
return money*count;
}
}
class MonthWorker extends Employee{
public double earnings()
{
double money=10000,count=12;
return money * count;
}
}
class WeekWorker extends Employee{
public double earnings()
{
double money=5000,count=48;
return money * count;
}
}
class Company{
Employee[] employees;
double salaries =0;
Company(Employee[] employees){
this.employees=employees;
}
public double salariesPay(){
salaries=0;
for (Employee employee : employees) {
salaries += employee.earnings();
}
return salaries;
}
}
public class HardWork {
public static void main(String[] args) {
Employee[] employees = new Employee[20];
//以下为随机取了数
for (int i = 0; i < employees.length; i++) {
if(i%3==0)
employees[i] = new YearWorker();
if(i%3==1)
employees[i] = new MonthWorker();
if(i%3==2)
employees[i] = new WeekWorker();
}
Company company = new Company(employees);
System.out.println("公司年工资总额:" + company.salariesPay());
}
}
运行结果为:
公司年工资总额:2385000.0
Process finished with exit code 0
蒟蒻发完就跑!!!

本文介绍了如何使用Java创建一个抽象类Employee,包含YearWorker、MonthWorker和WeekWorker三个子类,分别代表按年、月、周领取薪水的员工。每个子类重写了父类的earnings()方法以计算各自年薪。同时,定义了一个Company类,该类包含Employee数组,能计算一年的总薪资支出。运行示例展示了计算过程。
5255

被折叠的 条评论
为什么被折叠?



