已知Employee类的定义(附录1),为其编写一个子类TempEmployee,其基本工资为500,计算工资办法为:工资=基本工资+奖金;如需要可以修改Employee类属性的访问修饰符。(java)
时间: 2024-11-15 11:19:59 浏览: 22
在Java中,我们可以创建一个名为`TempEmployee`的子类,继承自`Employee`类,并覆盖或扩展父类的行为。首先,我们需要在`Employee`类中声明相应的变量和方法,然后在`TempEmployee`类中提供特定的实现。假设`Employee`类的定义如下:
```java
// 原始 Employee 类
public class Employee {
private int basicSalary; // 基本工资
public Employee(int basicSalary) {
this.basicSalary = basicSalary;
}
// 计算工资的方法
public int calculateSalary() {
return basicSalary;
}
// 其他可能的访问方法...
}
```
为了实现`TempEmployee`,我们将`basicSalary`设为私有并提供get和set方法,同时增加奖金和修改`calculateSalary()`方法:
```java
// 子类 TempEmployee
public class TempEmployee extends Employee {
private int bonus; // 额外奖金
public TempEmployee(int basicSalary, int bonus) {
super(basicSalary); // 调用父类构造函数
this.bonus = bonus;
}
// 修改 basicSalary 的访问修饰符为 protected 或者默认 (package-private)
protected int getBasicSalary() { return basicSalary; }
protected void setBasicSalary(int basicSalary) { this.basicSalary = basicSalary; }
// 重写 calculateSalary() 方法
@Override
public int calculateSalary() {
return basicSalary + bonus; // 算法: 基本工资 + 额外奖金
}
// 可能添加的其他方法...
}
```
现在`TempEmployee`可以根据需要设置奖金,并通过修改`calculateSalary()`来调整工资计算。
阅读全文