【问题标题】:How to acess object fields/properties from another object contained in that object efficiently如何有效地从该对象中包含的另一个对象访问对象字段/属性
【发布时间】:2013-12-23 14:45:41
【问题描述】:

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

例如:

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

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

【问题讨论】:

    标签: java c++ oop design-patterns


    【解决方案1】:

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

    您可以简单地将company 字段添加到employee,并且每次创建employee 或将其添加到companyemployeeList 时,请记住更新现在双向依赖的双方。


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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2023-02-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-26
        • 2017-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多