ruby - 如何在继承类中使用重写常量

标签 ruby class inheritance constants

给定这段代码:

class A
  CONST = 'A'

  def initialize
    puts CONST
  end
end

class B < A
  CONST = 'B'
end

A.new # => 'A'
B.new # => 'A'

我希望 B 使用 CONST = 'B' 定义,但我不知道如何使用。有什么想法吗?

问候

汤姆

最佳答案

class A
  CONST = 'A'

  def initialize
    puts self.class::CONST
  end
end

class B < A
  CONST = 'B'
end

A.new # => 'A'
B.new # => 'B'

关于ruby - 如何在继承类中使用重写常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3174563/

相关文章:

ruby - Ruby 中的奇怪//语法

java - 如果它们都在同一个包中,是否可以在一个 java 文件中声明数组并在不同的 java 文件中使用它们

c++ - 类中成员函数模板的显式实例化

jquery - 查找元素的类别并选择多个类别

c++ - 隐藏基类中的所有重载方法

ruby - 如何调用模型中的重定向方法

javascript - JQuery 序列化不适用于动态元素

ruby-on-rails - 在 Ruby on Rails 3.1+ 中公开静态文件?

c++ - 如何在子类和父类的 header 中指定构造函数

java - new View.OnClickListener 类型必须实现继承的抽象方法