嗨
想象一下,我有一类StandardCar,它包含对一个类的Engine实例的引用。 可以说我正在编程引擎类的范围,我想访问一些父类的成员,这意味着使用包含类的一些成员(标准汽车)
我可以做到这一点,而无需持有从每台发动机到车辆使用的第二个参考?关于其他类的班级构成的问题
谢谢。
嗨
想象一下,我有一类StandardCar,它包含对一个类的Engine实例的引用。 可以说我正在编程引擎类的范围,我想访问一些父类的成员,这意味着使用包含类的一些成员(标准汽车)
我可以做到这一点,而无需持有从每台发动机到车辆使用的第二个参考?关于其他类的班级构成的问题
谢谢。
您将需要以某种方式使您Engine
知道它包含在StandardCar
,无论是通过对StandardCar
对象本身或通过一些其他数据结构相关联的两个参考。但更常见的是,您会持有StandardCar
参考。
我可以做到这一点,而不需要从每台发动机向其使用的车辆提供第二次参考吗?
不直接。唯一的其他选择是如果Car
始终表示在Engine
内发生的动作,它可以将对其本身的引用作为方法中的参数传递。否则,您需要引用Car
或引擎内的某个共享接口。
所以这个双引用约定是好的我猜 – Mulder 2011-04-10 18:01:21
@Mulder:是的,这是一种常见的做法。 – BoltClock 2011-04-10 18:01:48