将常量声明为可以重新定义的 class 的最佳方法是什么

What is the best way to declare a constant into a class that can be redefined

在埃菲尔铁塔中,什么是拥有可以重新定义的常量的最佳方式?

虽然有一个函数只有 returns“绿色”或“蓝色”需要再次创建字符串,性能问题还是无关紧要?

据我了解,onces 不能重新声明...

一旦功能可以重新定义为任何其他功能。例子是

class A feature
    color: STRING once Result := "green" end
end

class B inherit A redefine color end feature
    color: STRING once Result := "blue" end
end

此外,清单字符串本身可以定义为一次:

class A feature
    color: STRING do Result := once "green" end
end

class B inherit A redefine color end feature
    color: STRING do Result := once "blue" end
end

两种情况下的行为是相同的,因此您甚至可以混合使用两种变体。性能可能有所不同,但仅略有不同。在这两种情况下,每次调用都不会创建新字符串。