假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资(都是整数): (1)经理(Manager)——每月获得一份固定的工资 (2)销售
时间: 2024-10-28 20:12:48 浏览: 32
类的运用 某公司雇员(employee)
4星 · 用户满意度95%
假设要为一家公司编写一个雇员工资支付程序,我们可以采用面向对象的方式设计。首先,可以创建一个`Employee`基类,表示所有雇员的基本属性,如姓名、ID等。然后,为不同类型的雇员创建派生类:
1. `Manager`类:继承自`Employee`,添加固定月薪属性,并实现计算月工资的方法。例如:
```java
public class Manager extends Employee {
private int monthlySalary;
public Manager(String name, int id, int monthlySalary) {
super(name, id);
this.monthlySalary = monthlySalary;
}
public int calculateMonthlyPay() {
return monthlySalary;
}
}
```
2. `SalesPerson`类:同样继承`Employee`,可能有提成比例或其他薪酬规则,实现计算基本工资加提成的方法:
```java
public class SalesPerson extends Employee {
private double commissionRate;
public SalesPerson(String name, int id, double commissionRate) {
super(name, id);
this.commissionRate = commissionRate;
}
public int calculateMonthlyPay(int baseSalary) {
// 计算公式,比如加上提成
return baseSalary + (baseSalary * commissionRate);
}
}
```
在这个例子中,无论是`Manager`还是`SalesPerson`,都可以作为`Employee`的实例,通过`calculateMonthlyPay()`方法获取各自的工资。这就是多态的应用,它允许我们统一处理不同类型的雇员,而不需要为每个特定类型编写独立的计算方法。
阅读全文