2 回答

TA贡献1776条经验 获得超12个赞
像这样的东西:
public class Manager {
private List<Employee> reports = new ArrayList<Employee>();
public void addReport(Employee e) {
if (e != null) {
this.reports.add(e);
e.setManager(this);
}
}
}
public class Employee {
private Manager manager;
public void setManager(Manager m) {
if (m != null) {
this.manager = m;
}
}
}
以防万一不清楚,您应该添加您需要的所有其他方法。我只说明了如何在将参考添加到直接报告时更新Manager参考。EmployeeList
您还应该有一个从removeReport中删除 an并将其设置为的方法。EmployeeListManagernull
你打算如何Employee在这个中找到一个List?按名字?员工ID?提示:考虑覆盖equals并hashCode适当地为您的课程。
不Managers也是Employees吗?老板没有老板吗?这是一个层次结构,一棵树。

TA贡献2019条经验 获得超9个赞
通常具有不同属性的对象如下所示:
public class Employee extends EnterpriseMember {
private Manager manager;
private String name; // You probably don't need this because you defined it in the Superclass.
.
.
.
/*Constructor */
public Employee(String name){
super(name);
}
/*Methods */
public Manager getManager(){
return manager;
}
public void setManager(Manager manager){
this.manager = manager
}
// Other getters and setters for the attributes.
}
添加回答
举报