ruby Object如何成为Object的子类?

问题描述 投票:0回答:1
2.3.3 :001 > Object.class #=> Class
2.3.3 :002 > Class.ancestors #=> [Class, Module, Object, Kernel, BasicObject]

我只是无法把这个概念包住头。

我想像的是如下所示

class Object < Class
  ...
end

class Class < Module
  ...
end

class Module < Object
  ...
end

这似乎很愚蠢,我想念什么吗?我似乎找不到任何相关的答案。

ruby oop inheritance hierarchy class-hierarchy
1个回答
1
投票

Object类显然不是Class的子类。实际上,ObjectBasicObject的子类,也是其他类的默认超类:

Object.superclass
# => BasicObject

class A
end

A.superclass
# => Object

我猜您将对象的class(它指示给定对象是什么类,Object是一个类,因此此方法正确地指出了),带有继承,]。>

© www.soinside.com 2019 - 2024. All rights reserved.