// 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;
}
}