【问题标题】:Ruby Object InheritanceRuby 对象继承
【发布时间】:2016-10-18 18:03:02
【问题描述】:

在 Ruby 中,我想实现一个 Person 类,这样这个类的每个实例都可以有子孙(属于同一类 Person)——但不能超过孙子。

【问题讨论】:

  • 你需要更具体一点,这只是一个普通的课程还是这些活动记录模型?
  • @CdotStrifeVII 普通班
  • 如果i1i2Person 的实例,那么i2i1 的子或孙意味着什么?

标签: ruby-on-rails ruby class inheritance


【解决方案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 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-05
    • 2011-10-08
    • 2013-01-04
    • 2019-01-30
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多