2016-10-18 2 views
-4

В Ruby Я хочу реализовать класс Person, чтобы каждый экземпляр этого класса мог иметь детей и внуков (того же класса Person), но не за пределами внуков.Наложение на объект Ruby

+0

Вы должны быть более конкретным, это просто обычный класс или эти активные модели записей? –

+0

@CdotStrifeVII обычный класс – user6874328

+0

Если 'i1' и' i2' являются экземплярами 'Person', что означает, что' i2' является дочерним или внуком 'i1'? –

ответ

1

Я не понимаю, почему вам нужно наследование, концепция состоит в том, что последующие классы не одного класса, они разделяют много основного поведения, но существенно отличаются друг от друга. Все, что вы описали, является контекстуальным, отличным по отношению друг к другу, а не фактической разницей в поведении.

class Person 
    def children 
    @children ||= [] 
    end 

    def grand_children 
    @grand_children ||= [] 
    end 
end 

guy = Person.new 
son = Person.new 
grandson = Person.new 
guy.children << son 
guy.grand_children << grandson 
Смежные вопросы