|
发表于 2023-10-24 19:16:34
|
显示全部楼层
本楼为最佳答案
 这道题目要求我们设计一个员工抽象类Employee,并在该类中包含姓名name和用工类型type两个成员变量以及一个抽象方法earnings()。同时,还需要设计两个子类RegularEmployee和TemporaryEmployee,分别表示正式员工和临聘员工。其中,RegularEmployee对象按月领取工资(工资5000元/元),TemporaryEmployee对象按周领取工资(工资1500元/周)。最后,我们需要设计一个公司Company类,该类用Employee对象数组作为成员,该类用于计算一年内所有员工需要支付的薪水总额,公司一共有4个正式员工、3个临时员工。
以下是代码实现:
- // Employee.java
- public abstract class Employee {
- protected String name;
- protected String type;
- public Employee(String name, String type) {
- this.name = name;
- this.type = type;
- }
- public abstract double earnings();
- }
- // RegularEmployee.java
- public class RegularEmployee extends Employee {
- public RegularEmployee(String name) {
- super(name, "正式员工");
- }
- @Override
- public double earnings() {
- return 5000 * 12;
- }
- }
- // TemporaryEmployee.java
- public class TemporaryEmployee extends Employee {
- public TemporaryEmployee(String name) {
- super(name, "临聘员工");
- }
- @Override
- public double earnings() {
- return 1500 * 52;
- }
- }
- // Company.java
- public class Company {
- private Employee[] employees;
- public Company() {
- employees = new Employee[7];
- employees[0] = new RegularEmployee("张三");
- employees[1] = new RegularEmployee("李四");
- employees[2] = new RegularEmployee("王五");
- employees[3] = new RegularEmployee("赵六");
- employees[4] = new TemporaryEmployee("小明");
- employees[5] = new TemporaryEmployee("小红");
- employees[6] = new TemporaryEmployee("小刚");
- }
- public double totalEarnings() {
- double total = 0;
- for (Employee employee : employees) {
- total += employee.earnings();
- }
- return total;
- }
- }
复制代码
在代码中,我们首先定义了一个抽象类Employee,其中包含了姓名name和用工类型type两个成员变量以及一个抽象方法earnings()。然后,我们定义了两个子类RegularEmployee和TemporaryEmployee,分别表示正式员工和临聘员工,并且在这两个类中实现了earnings()方法。最后,我们定义了一个公司Company类,该类用Employee对象数组作为成员,并在该类中实现了totalEarnings()方法,用于计算一年内所有员工需要支付的薪水总额。
我们可以在主函数中进行测试:
- public static void main(String[] args) {
- Company company = new Company();
- System.out.println("公司一年内需要支付的薪水总额为:" + company.totalEarnings() + "元");
- }
复制代码
输出结果为:
至此,问题得到了解决。 |
|