【问题标题】:how can Object class in ruby be an instance of it's subclass, class "Class" [duplicate]ruby中的Object类如何成为它的子类的实例,类“Class”[重复]
【发布时间】:2015-08-23 18:40:32
【问题描述】:

我知道 ruby​​ 中的每个类都是“类”类的一个实例。即使对于对象,内核类。

但是,我无法理解作为 Class Class 的祖先的 Object 类是如何成为 Class Class 的实例的,而 Class Class 是它的子类。

irb(main):018:0* Class.ancestors

=> [Class, Module, Object, Kernel, BasicObject]

irb(main):019:0> Object.ancestors

=> [Object, Kernel, BasicObject]

irb(main):020:0> Object.class

=> Class

【问题讨论】:

  • 您说的是 Ruby 的“对象模型”。很难用几句话来解释。即将到来的戴夫托马斯花了一个多小时在this widely-watched video 中解释它。所以,做一些爆米花,站起来享受吧。
  • 谢谢先生!那个视频太棒了!

标签: ruby class oop


【解决方案1】:

ancestors 方法属于Module,它给出了list of modules included in that module。所以,Class 包括 Class, Module, Object, Kernel, BasicObject 模块。而且它不像子类(不扩展另一个类)。 Reference.

【讨论】:

    猜你喜欢
    • 2019-02-06
    • 2023-03-30
    • 2015-08-13
    • 2019-09-16
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多