Псевдоним и несколько имен для атрибутов - PullRequest
0 голосов
/ 17 октября 2018

Определение различных имен для одной и той же функции представляется возможным в Eiffel, что за атрибуты?

Можно ли назвать атрибут как:

background, bk: COLOR
foreground, fg: COLOR

Если нет, то почему?

1 Ответ

0 голосов
/ 17 октября 2018

На фоне Eiffel bk: 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, это две разные функции.В потомке вы можете переименовывать, переопределять одно или другое независимо.

В Eiffel нет такого понятия псевдонима.Единственное понятие псевдонима используется, чтобы иметь оператор, такой как plus alias "+" (s: READABLE_STRING_GENERAL): like Current в классе STRING_32.Или также в HASH_TABLE item alias "[]"

...