1.定义职工类Employee,其中 属性包含姓名:name和月工资:monthWage, 方法包含年工资计算的方法:getAnnualWage方法。 2.职工类包含两个子类,分别定义普通员工类:Ordinary和经理类:Manager: (1)普通员工类包含work方法和getAnnualWage方法,其中getAnnualWage方法重写父类的年工资计算的方法 (2)经理类包含getAnnualWage方法,重写父类的年工资计算的方法 3.定义测试类,包含: (1)main方法; (2)showAnnualWage方法:用来获取任何员工对象的年工资,并通过main方法调用。
时间: 2024-02-26 10:57:25 浏览: 64
third_java_实验3_
好的,以下是职工类Employee、普通员工类Ordinary和经理类Manager的代码实现,以及测试类的代码实现。请注意,代码中仅提供了基本的属性和方法,并未包含完整的异常处理、输入输出等功能。
```java
// 职工类Employee
public class Employee {
private String name; // 姓名
private double monthWage; // 月工资
// 构造方法
public Employee(String name, double monthWage) {
this.name = name;
this.monthWage = monthWage;
}
// 年工资计算方法
public double getAnnualWage() {
return monthWage * 12;
}
// getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getMonthWage() {
return monthWage;
}
public void setMonthWage(double monthWage) {
this.monthWage = monthWage;
}
}
// 普通员工类Ordinary
public class Ordinary extends Employee {
// 构造方法
public Ordinary(String name, double monthWage) {
super(name, monthWage);
}
// 工作方法
public void work() {
System.out.println(getName() + " is working.");
}
// 年工资计算方法(重写父类方法)
@Override
public double getAnnualWage() {
return super.getAnnualWage() + 10000; // 年终奖10000元
}
}
// 经理类Manager
public class Manager extends Employee {
// 构造方法
public Manager(String name, double monthWage) {
super(name, monthWage);
}
// 年工资计算方法(重写父类方法)
@Override
public double getAnnualWage() {
return super.getAnnualWage() + 50000; // 年终奖50000元
}
}
// 测试类Test
public class Test {
public static void main(String[] args) {
// 创建普通员工和经理对象
Ordinary ordinary = new Ordinary("Tom", 5000);
Manager manager = new Manager("Jerry", 10000);
// 调用showAnnualWage方法,获取年工资并输出
showAnnualWage(ordinary);
showAnnualWage(manager);
}
// 获取年工资的方法
public static void showAnnualWage(Employee employee) {
System.out.println(employee.getName() + "'s annual wage is " + employee.getAnnualWage() + " yuan.");
}
}
```
当我们运行测试类Test时,输出结果为:
```
Tom's annual wage is 61000.0 yuan.
Jerry's annual wage is 170000.0 yuan.
```
其中,普通员工Tom的年工资为5000*12+10000=61000元,经理Jerry的年工资为10000*12+50000=170000元。
阅读全文