假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资(都是整数): (1)经理(Manager)——每月获得一份固定的工资 (2)销售人员(Salesman)——在基本工资的基础上每月还有销售提成 (3)一般工人(Worker)——则按他每月工作的天数计算工资 在Employee中提供函数getSalary()计算每个雇员一个月的工资,并在子类中重写。 在main函数中构造Employee的三个变量,分别指向Manager、Salesman、Worker的对象,调用getSalary函数,输出三个对象的工资 使用Java语言
时间: 2024-03-21 17:43:45 浏览: 48
好的,我会帮您用Java语言编写这个程序。以下是完整代码:
```
class Employee {
public int getSalary() {
return 0;
}
}
class Manager extends Employee {
private int salary;
public Manager(int salary) {
this.salary = salary;
}
@Override
public int getSalary() {
return salary;
}
}
class Salesman extends Employee {
private int baseSalary;
private int salesCommission;
public Salesman(int baseSalary, int salesCommission) {
this.baseSalary = baseSalary;
this.salesCommission = salesCommission;
}
@Override
public int getSalary() {
return baseSalary + salesCommission;
}
}
class Worker extends Employee {
private int daySalary;
private int workDays;
public Worker(int daySalary, int workDays) {
this.daySalary = daySalary;
this.workDays = workDays;
}
@Override
public int getSalary() {
return daySalary * workDays;
}
}
public class Main {
public static void main(String[] args) {
Employee manager = new Manager(5000);
Employee salesman = new Salesman(3000, 500);
Employee worker = new Worker(200, 20);
System.out.println("Manager's salary: " + manager.getSalary());
System.out.println("Salesman's salary: " + salesman.getSalary());
System.out.println("Worker's salary: " + worker.getSalary());
}
}
```
在这个程序中,我们首先定义了一个Employee类作为所有雇员类型的基类,其中包含一个返回0的getSalary函数。然后分别定义了Manager、Salesman和Worker三个子类,分别重写了getSalary方法,以实现不同的计算工资方式。在Main函数中,我们创建了一个Manager、一个Salesman和一个Worker对象,分别调用它们的getSalary方法并输出结果。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![mp4](https://img-home.csdnimg.cn/images/20210720083504.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)