要求:利用面向对象知识完成员工管理系统Java程序设计实现 需求称述:员工管理系统主要涉及3类员工,分别是经理类、董事类、普通员工类。 经理类(Manager): ①属性:employeeId(
时间: 2024-10-27 07:01:47 浏览: 30
为了使用面向对象的知识完成这个员工管理系统 Java 程序设计,首先我们需要创建三个类,分别代表经理(Manager)、董事(Director)和普通员工(Employee)。每个类都将包含共有的属性如 `id` 和通用的行为方法,如 `setName()`、`setSalary()` 等。然后,经理类会额外有一些特有的管理功能,比如招聘员工(hireEmployee()),董事类可能会有决策权相关的功能。
**Employee.java 类(基类)**
```java
public abstract class Employee {
private int employeeId;
private String name;
private double salary;
// 构造函数、getter和setter方法
public Employee(int id, String name, double salary) {
this.employeeId = id;
this.name = name;
this.salary = salary;
}
// 公开的方法
public abstract void displayInfo();
}
```
**Manager.java 类(经理类)**
```java
public class Manager extends Employee {
private List<Employee> employees;
public Manager(int id, String name, double salary) {
super(id, name, salary);
employees = new ArrayList<>();
}
public void hireEmployee(Employee e) {
employees.add(e);
System.out.println("Hired employee with ID: " + e.getEmployeeId());
}
@Override
public void displayInfo() {
// 打印经理信息并展示下属员工
System.out.println("Manager: " + name + ", ID: " + employeeId);
if (employees.isEmpty()) {
System.out.println("No employees.");
} else {
System.out.println("Employees:");
for (Employee emp : employees) {
emp.displayInfo();
}
}
}
}
```
**Director.java 类(董事类)**
```java
public class Director extends Employee {
private String decision; // 添加董事特有的决策属性
public Director(int id, String name, double salary, String decision) {
super(id, name, salary);
this.decision = decision;
}
// 可能的方法,例如做决策
public void makeDecision(String action) {
System.out.println(name + " makes a decision: " + action);
}
@Override
public void displayInfo() {
super.displayInfo();
System.out.println("Decision: " + decision);
}
}
```
阅读全文