ruby中的Object类如何成为它的子类的实例,类“Class”

时间:2015-06-09 05:31:45

标签: ruby class oop

我知道ruby中的每个类都是类“Class”的实例。甚至对于Object,Kernel类。

但是,我无法理解为什么Object类,它是类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

1 个答案:

答案 0 :(得分:0)

ancestors方法位于Module下,并提供list of modules included in that module。因此,Class包含Class, Module, Object, Kernel, BasicObject个模块。它不像子类(不扩展另一个类)。 Reference.