如果先前已经定义了一个类,我怎么能告诉它继承类Parent
例如:
class Parent
..
end
class Klass
..
end
Run Code Online (Sandbox Code Playgroud)
现在我希望它继承自Parent
我无法重新打开课程并设置它,因为我会收到课程不匹配错误
class Klass < Parent
..
end
Run Code Online (Sandbox Code Playgroud)
具体来说,我试图找出如何在通过Object.const_set创建的类上设置类继承
klass = Object.const_set('Klass', Class.new)
Run Code Online (Sandbox Code Playgroud)
如何告诉Klass从类Parent继承?
sep*_*p2k 26
无法更改已存在的类的超类.
要指定要动态创建的类的超类,只需将超类作为参数传递给Class.new.
class Parent
end
klass = Class.new(Parent)
klass.superclass #=> Parent
Run Code Online (Sandbox Code Playgroud)
正如旁注:你没有创建课程const_set.你是用它创建它的Class.new.您只需将创建的类存储在常量中const_set.一旦const_set被调用,Class.new已经发生并且超级类不能再被更改了.
| 归档时间: |
|
| 查看次数: |
5929 次 |
| 最近记录: |