从子对象访问父对象的最佳方法

时间:2010-09-01 23:13:59

标签: java oop jruby

我正在JRuby创建一个群体遗传学模拟系统。

我创建了诸如Allele,Gene,Organism,Population等课程。

Population对象包含多个Organism对象(在数组中),每个Organism对象包含多个Genes,依此类推。

目前,很容易知道某个生物体对象具有的Gene对象。但是,如果我拥有的只是一个Gene对象,我不知道它属于什么样的有机体。

我想到的一个解决方案是:

attr_accessor :name, :parent
def initialize(name, parent)
  @name = name
  @parent = parent #parent will be the parent object
end

如果我这样做,@ parent只是对内存中父对象的引用,还是一个全新的对象?

这是最好的方法吗?还有另一种“更好”的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如你所说,JRuby只会保留对象的引用,而不是创建它的副本。

这是解决问题的一种非常明智的方法。您要保留对要引用的对象的引用!