集类继承

集类继承

问题描述:

如果一个类被事先定义,我怎么能知道它从一类家长集类继承

继承例如:

class Parent 
    .. 
end 

class Klass 
    .. 
end 

现在我希望它从父继承

我不能重新打开类并设置它,因为我会得到一类不匹配错误

class Klass < Parent 
    .. 
end 

具体我试图找出如何设置类继承的一个类IM通过Object.const_set

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

我怎么能告诉克拉斯从类继承父创造?

没有办法改变已经存在的类的超类。

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

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

正如旁注:你不是创建类const_set。您正在使用Class.new创建它。您只需将创建的类存储在const_set的常量中即可。一旦调用const_setClass.new已经发生,超类不能再被改变。

+0

谢谢,这正是我所需要的。 – 2009-08-26 21:50:16