属性的别名和多个名称

Alias and multiple names for attributes

在 Eiffel 中似乎可以为同一要素定义不同的名称,属性又如何呢?

是否可以将属性命名为:

background, bk: COLOR
foreground, fg: COLOR

如果不是为什么?

在埃菲尔 背景,黑色:颜色

相同
background: COLOR
bk: COLOR

(局部变量、参数等的约定相同)

要在属性上使用一种别名,您可以这样做

background: COLOR assign set_background
bk: COLOR assign set_background
   do
      Result := background
   end
set_background (c: COLOR)
   do
       background := c
   end

旁注:对于函数和过程......即使它看起来是别名

foo, bar: STRING 
  do 
    Result := "abc" 
  end

其实bar并不是foo的别名,它们是两个不同的特征。 在后代中,您可以独立地重命名、重新定义其中之一。

埃菲尔没有这样的别名概念。别名的唯一概念是用于运算符,例如 class STRING_32 中的 plus alias "+" (s: READABLE_STRING_GENERAL): like Current 。 或者也在 HASH_TABLE item alias "[]"