(10分)定义两种特殊的职工,技术员(Technician) 和销售员(Sales) (1)技术员(Technician) 包含特殊属性“工时(hours) ” 其总工资为:基本工资+2*hours (2)销售员(Sales) 包含特殊属性"销售量(saleAmount)” 其总工资为:基本工资+4*saleAmount
时间: 2023-08-14 19:03:26 浏览: 194
好的,以下是符合要求的技术员和销售员类的定义示例代码:
```java
public class Technician extends Employee {
private int hours; //工时
public Technician(int eID, String name, int age, double salary, int hours) {
super(eID, name, age, salary);
this.hours = hours;
}
public int getHours() {
return hours;
}
public void setHours(int hours) {
this.hours = hours;
}
@Override
public double getTotalSalary() {
return getSalary() + 2 * hours;
}
}
public class Sales extends Employee {
private int saleAmount; //销售量
public Sales(int eID, String name, int age, double salary, int saleAmount) {
super(eID, name, age, salary);
this.saleAmount = saleAmount;
}
public int getSaleAmount() {
return saleAmount;
}
public void setSaleAmount(int saleAmount) {
this.saleAmount = saleAmount;
}
@Override
public double getTotalSalary() {
return getSalary() + 4 * saleAmount;
}
}
```
这里定义了两个职工子类:技术员(Technician)和销售员(Sales)。这两个子类继承自职工抽象类(Employee),并且实现了抽象方法getTotalSalary(),以便计算总工资。
技术员(Technician)类包含了一个特殊属性“工时(hours)”,其总工资为基本工资加上2倍的工时(hours)。
销售员(Sales)类包含了一个特殊属性“销售量(saleAmount)”,其总工资为基本工资加上4倍的销售量(saleAmount)。
这两个子类都可以使用父类的构造函数来初始化员工号、姓名、年龄和基本工资这四个属性,而它们自己特有的属性则可以用自己的setter方法来设置。
阅读全文