📅  最后修改于: 2023-12-03 15:28:44.386000             🧑  作者: Mango
本题目涉及到 Java 编程语言中的面向对象编程和异常处理知识。程序员需要编写一个 Java 程序,在其中实现以下要求:
Employee
类,该类中包含员工的基本信息 —— 姓名、生日、员工号码等。Manager
和 Clerk
,用于表示经理和文员,这两个类都是 Employee
类的子类。Employee
类提供一个计算薪水的方法 calculateSalary()
,该方法返回一个浮点数,表示员工的薪水。Manager
和 Clerk
类,分别重写其父类中的 calculateSalary()
方法,以计算不同类型员工的薪水。main()
方法中创建一个 Employee
类对象数组和两个子类的对象,用于模拟公司中的员工情况。在实现程序的过程中,需要注意对异常的检查与处理,以保证程序的正确性和稳定性。
以下是本程序的大体实现过程:
Employee
类,用于储存员工的基本信息。class Employee {
String name;
String birthday;
int employeeNumber;
public Employee(String name, String birthday, int employeeNumber) {
this.name = name;
this.birthday = birthday;
this.employeeNumber = employeeNumber;
}
public double calculateSalary() {
// 在子类中被覆盖
return 0.0;
}
}
Manager
类和 Clerk
类,它们是 Employee
类的子类,用于表示经理和文员。class Manager extends Employee {
double basicSalary;
public Manager(String name, String birthday, int employeeNumber, double basicSalary) {
super(name, birthday, employeeNumber);
this.basicSalary = basicSalary;
}
public double calculateSalary() {
return basicSalary + bonus;
}
}
class Clerk extends Employee {
double basicSalary;
public Clerk(String name, String birthday, int employeeNumber, double basicSalary) {
super(name, birthday, employeeNumber);
this.basicSalary = basicSalary;
}
public double calculateSalary() {
return basicSalary;
}
}
main()
方法中创建一个 Employee
类对象数组和两个子类的对象,用于模拟公司中的员工情况。public static void main(String[] args) {
Employee[] employees = new Employee[3];
employees[0] = new Manager("Tom", "1995-08-01", 1001, 10000);
employees[1] = new Clerk("Jarry", "1997-02-08", 1002, 5000);
employees[2] = new Clerk("Marry", "1999-05-20", 1003, 4000);
}
double totalSalary = 0.0;
for (Employee employee : employees) {
totalSalary += employee.calculateSalary();
}
System.out.println("Total salary payout: " + totalSalary);
在实际应用中,程序员需要根据具体需求进行修改和扩展,以满足业务上的需要。