属性的别名和多个名称
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 "[]"
在 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 "[]"