如何有效地从该对象中包含的另一个对象访问对象字段/属性
How to acess object fields/properties from another object contained in that object efficiently
我正在尝试设计一个与此类似的问题,我有一个包含另一个对象的对象,如下例所示。我正在尝试找出一种方法来从第二个对象访问第一个对象属性,而不必在它们之间不必要地复制属性,这听起来不像是一个好的编程实践。
例如:
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
。
相关文章:
- 为什么我不能将一个对象push_back到属于另一个类的对象向量中?
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 从多个源构造一个对象,包括一个对象向量
- 为什么C++在将一个对象复制到另一个对象时需要对这两个对象进行低级常量限定
- 检查哪个对象调用了另一个对象的对象方法
- C++ 如何在将新对象分配给另一个对象时创建新对象
- 如何处理从一个对象传递到另一个在C++中具有公共抽象类的对象的消息
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- 包装一个对象并假装它是一个 int
- 为什么我可以在不重载 "=" 运算符的情况下将一个对象分配给另一个对象?
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- 如何使用函数将一个对象的输入复制到另一个对象中
- 选择一个元素而不是一个对象的数组的原因
- 为什么我可以使用 memcpy 将一个对象变量复制到另一个对象变量
- 如何将包含另一个对象向量的对象保存到文件中,并使用C++中的二进制文件从文件中读回?
- 我重载了 << 和 = 运算符。为什么当我将一个对象分配给另一个对象并尝试打印它时,我会被打印出来?
- 打印对象的映射,其中另一个对象作为键
- 如何通过另一个对象中的命令正确地从一个对象返回数据
- 为什么将两个对象分配给另一个对象后,两个对象不一样?
- 绘制一个对象,比较模具缓冲区的两个不同值