如何有效地从该对象中包含的另一个对象访问对象字段/属性

时间:2013-12-22 22:05:30

标签: java c++ oop design-patterns

我正在尝试设计一个与此类似的问题,我有一个包含其他对象的对象,如下例所示。我试图找到一种方法来从第二个对象获取第一个对象属性,而不必在它们之间不必要地复制属性,这听起来不是一个好的编程实践。

例如:

class employee{
    String name;
    int age;
}
class company{
    String companyName;
    List<employee> employeeList;
}

我的问题是,给定一个员工对象,我该如何访问该员工的公司名称?一种解决方案是将companyName添加到每个员工对象,但这似乎是一种多余的内存浪费,因为“保证”每个员工只为一家公司工作。

2 个答案:

答案 0 :(得分:3)

现在你拥有它的方式你有一个单向的依赖。换句话说,company取决于employee。但是,employee对其所属的company一无所知。

您只需向company添加employee字段,每次创建employee或将其添加到company的{​​{1}}时,请记住更新现在双向依赖的两面。


请注意,Java命名约定规定类型名称应以大写字母开头。

答案 1 :(得分:1)

C ++:你可以给员工一个company指针,作为employee构造函数的一部分传递,并通过它访问companyName