【发布时间】:2021-09-25 23:38:39
【问题描述】:
我写了三个 Java 类:
CompanyDepartmentEmployee
每个Company 对象都包含一个Department 对象数组,而这些对象又包含Employee 对象数组。
我想在Employee 类setQid() 中编写一个方法,该方法将为该员工设置一个唯一ID,格式如下:
- compName_deptName_deptNumber_empFirstName_empSurname
例子:
- “Microsoft_Accounting_3_John_Smith”
我的问题是:如何从 Employee 类的上下文中访问以下变量?
-
String name在Company -
String name在Department -
int number在Department
请看我下面的代码:
public class Company {
private String name;
private Department[] departments;
public Company(String name, Department[] departments) {
this.name = name;
this.departments = departments;
}
}
public class Department {
private String name;
private int number;
private Employee[] members;
public Department(String name, int number, Employee[] members) {
this.name = name;
this.number = number;
this.members = members;
}
}
public class Employee {
private String firstname;
private String surname;
private String qid; //A unique employee ID
public Employee(String firstname, String surname) {
this.firstname = firstname;
this.surname = surname;
setQid();
}
public void setQid() {
// How can I access the Company name, Department name, and Department number from here?
}
}
【问题讨论】:
-
你不能。在您当前的设置中,
Employee没有Company,您可以凭空创建一个新的Employee,而无需在任何地方定义任何Company。 -
@luk2302 但是
Company有一个Department有一个Employee对吗?没有办法访问这个方向的数据? -
如果您只是参考
Employee,则不会。 -
我想我将不得不重新考虑我的班级结构。谢谢你们。