ruby - ruby 中的 Object 类如何成为其子类 "Class"类的实例

标签 ruby class oop

<分区>

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

但是,我无法理解为什么作为 Class 类的祖先的 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

最佳答案

ancestors 方法位于 Module 下,它给出 该模块中包含的模块列表。因此,Class 包括 Class, Module, Object, Kernel, BasicObject 模块。它不像子类(不扩展另一个类)。 Reference.

关于ruby - ruby 中的 Object 类如何成为其子类 "Class"类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30723691/

相关文章:

java - 访问嵌套类中的变量

class - 在Scala中,如何获取 `object`(不是类的实例)的名称?

c++ - 你能做一个 C++ 泛型函数吗?

C++ 覆盖继承的方法

html - Ruby Builder - XML 输出正在编码 HTML 实体

c++ - ruby 中使用 C++ .so 库的未解析符号

python-3.x - 使用Python实现卡恩拓扑排序算法

ruby-on-rails - Bash to Ruby - 使用 whois 和 grep 命令获取列表

javascript - 使用 js 在 ougoing 调用中从 Twilio 获取 CallSid

javascript - JS 应用程序自动刷新/元素消失编辑