Java编写要求定义父类Employee为抽象类,showMessage为抽象方法。增加一个子类DevelopManager扩充了:奖金prize和加班时间overtime两个属性。测试类main方法中,在创建SaleManager对象和DevelopManager对象后,通过定义Employee引用SaleManager对象和DevelopManager对象,分别调用showMessage方法输出: 销售经理信息: 员工信息:姓名:张三;id号:10001;薪金:10000元; 扩展信息:销售收入:1000000元,销售利润:100000元。 开发经理信息: 员工信息:姓名:李四;id号:20001;薪金:20000元; 扩展信息:奖金:1000元,加班时间:10小时。
时间: 2024-03-14 08:43:20 浏览: 68
好的,根据您的要求,我提供如下的Java代码示例:
```java
// 定义抽象类Employee
abstract class Employee {
// 员工姓名
protected String name;
// 员工ID
protected int id;
// 员工薪资
protected double salary;
// 构造函数
public Employee(String name, int id, double salary) {
this.name = name;
this.id = id;
this.salary = salary;
}
// 定义抽象方法showMessage
public abstract void showMessage();
}
// 定义子类DevelopManager,继承自Employee
class DevelopManager extends Employee {
// 奖金
private double prize;
// 加班时间
private double overtime;
// 构造函数
public DevelopManager(String name, int id, double salary, double prize, double overtime) {
super(name, id, salary);
this.prize = prize;
this.overtime = overtime;
}
// 实现抽象方法showMessage
public void showMessage() {
System.out.println("开发经理信息:");
System.out.println("员工信息:姓名:" + this.name + ";id号:" + this.id + ";薪金:" + this.salary + "元;");
System.out.println("扩展信息:奖金:" + this.prize + "元,加班时间:" + this.overtime + "小时。");
}
}
// 定义子类SaleManager,继承自Employee
class SaleManager extends Employee {
// 销售收入
private double salesIncome;
// 销售利润
private double salesProfit;
// 构造函数
public SaleManager(String name, int id, double salary, double salesIncome, double salesProfit) {
super(name, id, salary);
this.salesIncome = salesIncome;
this.salesProfit = salesProfit;
}
// 实现抽象方法showMessage
public void showMessage() {
System.out.println("销售经理信息:");
System.out.println("员工信息:姓名:" + this.name + ";id号:" + this.id + ";薪金:" + this.salary + "元;");
System.out.println("扩展信息:销售收入:" + this.salesIncome + "元,销售利润:" + this.salesProfit + "元。");
}
}
// 定义测试类
public class Test {
public static void main(String[] args) {
// 创建SaleManager对象
SaleManager saleManager = new SaleManager("张三", 10001, 10000, 1000000, 100000);
// 创建DevelopManager对象
DevelopManager developManager = new DevelopManager("李四", 20001, 20000, 1000, 10);
// 定义Employee引用SaleManager对象
Employee employee1 = saleManager;
// 调用showMessage方法输出销售经理信息
employee1.showMessage();
// 定义Employee引用DevelopManager对象
Employee employee2 = developManager;
// 调用showMessage方法输出开发经理信息
employee2.showMessage();
}
}
```
以上代码实现了要求中的功能,您可以在本地编译运行,查看输出结果是否符合要求。
阅读全文