我正在尝试设计一个与此类似的问题,我有一个包含另一个对象的对象,如下例所示。我正在尝试找出一种方法来从第二个对象访问第一个对象属性,而不必在它们之间不必要地复制属性,这听起来不像是一个好的编程实践。
例如:
class employee{
String name;
int age;
}
class company{
String companyName;
List<employee> employeeList;
}
我的问题是,给定一个员工对象,我如何访问该员工工作的公司名称?一种解决方案是将 companyName 添加到每个员工对象,但这似乎是冗余的内存浪费,因为"保证"每个员工只为一家公司工作。
你现在拥有它的方式你有一个单向依赖。换句话说,company
取决于employee
.然而,employee
对它所属的company
一无所知。
您可以简单地将company
字段添加到employee
,每次创建employee
或将其添加到company
的employeeList
时,请记住更新现在双向依赖关系的两端。
请注意,Java 命名约定规定类型名称应以大写字母开头。
C++:您可以为员工提供一个company
指针,作为employee
构造函数的一部分传递,并通过该指针访问companyName
。