代码之家  ›  专栏  ›  技术社区  ›  Corban Brook

在类delcaration之后设置类继承或在const_Set类上设置类继承

  •  12
  • Corban Brook  · 技术社区  · 16 年前

    例如:

    class Parent
      ..
    end
    
    class Klass
      ..
    end
    

    现在我希望它从父对象继承

    class Klass < Parent
      ..
    end
    

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

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

    我如何告诉Klass从类父继承?

    1 回复  |  直到 16 年前
        1
  •  33
  •   sepp2k    16 年前

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

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

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

    const_set 新班级 常数集 . 一旦 常数集 新班级 已经发生,并且无法再更改超类。