在类delcaration之后设置类inheritance或在const_set类上设置类inheritance

如果先前已经定义了一个类,我怎么能告诉它inheritance一个Parent类

例如:

class Parent .. end class Klass .. end 

现在我希望它inheritance自Parent

我无法重新打开课程并设置它,因为我会收到课程不匹配错误

 class Klass < Parent .. end 

具体来说,我试图找出如何在通过Object.const_set创建的类上设置类inheritance

 klass = Object.const_set('Klass', Class.new) 

如何告诉Klass从类Parentinheritance?

无法更改已存在的类的超类。

要指定要动态创建的类的超类,只需Class.new类作为参数传递给Class.new

 class Parent end klass = Class.new(Parent) klass.superclass #=> Parent 

正如旁注:你不是用const_set创建类。 您正在使用Class.new创建它。 您只需将创建的类存储在const_set的常量中。 调用Class.newClass.new已经发生, Class.new类不再被更改。