лучший способ получить доступ к родительскому объекту из дочернего объекта - PullRequest
1 голос
/ 02 сентября 2010

Я создаю систему моделирования популяционной генетики в JRuby.

Я создал классы, такие как Allele, Gene, Organism, Population.

Объект Population содержит несколько объектов Organism (вмассив), каждый объект Organism содержит несколько генов и т. д.

В настоящее время, например, очень легко узнать, какие объекты Gene имеют определенный объект Organism.Однако, если все, что у меня есть, - это объект Гена, я не знаю, к какому организму он принадлежит.

Одно из решений, о котором я подумал:

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

Если я это сделаю,@parent просто будет ссылкой на родительский объект в памяти, или это будет совершенно новый объект?

Это лучший способ сделать это?Есть ли другой «лучший» способ сделать это?

Спасибо!

1 Ответ

1 голос
/ 02 сентября 2010

JRuby, как вы предлагаете, будет просто хранить ссылку на объект, а не создавать его копию.

Это совершенно разумный способ решения проблемы.Вы сохраняете ссылку на объект, на который хотите сослаться!

...