Ruby 对象的超类和类的超类之间有什么区别?
我得到的结果是:Ruby 对象的超类和类的超类之间有什么区别?,ruby,class,superclass,Ruby,Class,Superclass,我得到的结果是: String.class # => Class String.superclass # => Object Class.class # => Class Class.superclass # => Module 字符串和类都是类的对象。为什么字符串的超类是对象,而类的超类是模块?您以一种奇怪的方式表述了这个问题。除此之外,我没什么可说的,它们是这样定义的 class A end class B
String.class # => Class
String.superclass # => Object
Class.class # => Class
Class.superclass # => Module
字符串和类都是类的对象。为什么字符串的超类是对象,而类的超类是模块?您以一种奇怪的方式表述了这个问题。除此之外,我没什么可说的,它们是这样定义的
class A
end
class B
end
class C < A
end
class D < B
end
p C.class # => Class
p C.superclass # => A
p D.class # => Class
p D.superclass # => B
只有类才有超类。一个对象的超类实际上没有意义,除非该对象恰好是一个类……而且只有一个类没有超类。