Я создаю систему имитации генетической популяции в JRuby.лучший способ доступа к родительскому объекту из дочернего объекта
Я создал такие классы, как Allele, Gene, Organism, Population.
Объект Population содержит несколько объектов Organism (в массиве), каждый объект Organism содержит несколько генов и т. Д.
В настоящее время очень легко узнать, например, что Джин создает определенный объект Организма. Однако, если все, что у меня есть, является объектом Gene, я не знаю, к какому организму он принадлежит.
Одно из решений я подумал это:
attr_accessor :name, :parent
def initialize(name, parent)
@name = name
@parent = parent #parent will be the parent object
end
Если я сделаю это, будет @parent быть просто ссылка на родительский объект в памяти, или это будет совершенно новый объект?
Это лучший способ сделать это? Есть ли еще один «лучший» способ сделать это?
Спасибо!
FWIW: Я думаю, что это полностью вопрос JRuby, и ваши другие теги являются неактуальными. Ваш вопрос по существу сводится к «Does @parent = parent копировать ссылку или весь объект», и ответ полностью зависит от семантики JRuby. (В Java ответ будет: вы копируете ссылку, но я не знаю JRuby, поэтому я не могу ответить на ваш реальный вопрос.) –