- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
如果之前已经定义了一个类,我如何告诉它从父类继承
例如:
class Parent
..
end
class Klass
..
end
现在我希望它继承自Parent
我无法重新打开类并设置它,因为我会收到类不匹配错误
class Klass < Parent
..
end
具体来说,我试图找出如何在我通过 Object.const_set 创建的类上设置类继承
klass = Object.const_set('Klass', Class.new)
如何让 Klass 继承自 Parent 类?
最佳答案
无法更改已存在类的父类(super class)。
要指定您正在动态创建的类的父类(super class),您只需将父类(super class)作为参数传递给 Class.new
。
class Parent
end
klass = Class.new(Parent)
klass.superclass #=> Parent
请注意:您不是使用 const_set
创建类。您正在使用 Class.new
创建它。您只需使用 const_set
将创建的类存储在常量中。一旦 const_set
被调用,Class.new
已经发生,父类(super class)不能再改变。
关于ruby - 在类声明后设置类继承或在 const_set 类上设置类继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1337439/
我正在开发一个 Rails 应用程序,其中在一个类中,常量是使用 const_set constant_name, value 定义的。 . 我知道我们可以直接在类中定义常量,只需指定常量的 CAPI
我要mock a class with Ruby . 如何编写处理样板代码的方法? 以下代码: module Mailgun end module Acani def self.mock_mail
我正在尝试使用变量“命名”一个新类。 从 antoher thread 我得到了一些关于使用 och 'const_set' 的初学者,当我尝试这个时它工作正常: name = "Person" at
如果之前已经定义了一个类,我如何告诉它从父类继承 例如: class Parent .. end class Klass .. end 现在我希望它继承自Parent 我无法重新打开类并设置它
我有一堆模块想在命名空间中定义,我将它们放在初始化程序中,但我得到了“错误的常量名称”异常: # this is a self-contained example require 'active_su
难道他们不应该做同样的事情吗?为什么会这样?此时,出于必要,我在我的代码中使用了 module_eval,但 const_set 似乎更具可读性。无论如何,我真的很想知道为什么会这样。 代码如下: c
我在玩rails console使用 Neo4j 并尝试创建一个像这样的模型类: Object.const_set("TestNode", Class.new(super_class=Neo4j::R
我是一名优秀的程序员,十分优秀!