2016-10-18 3 views
-4

루비에서 나는이 클래스의 각 인스턴스가 손자를 넘어서는 것이 아니라 동일한 클래스 Person의 자식과 손자를 가질 수 있도록 클래스 Person을 구현하려고합니다.루비 객체 상속

+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