В большинстве случаев в Eiffel источником является вся необходимая документация.Щелкнув правой кнопкой мыши на имени класса в EiffelStudio, вы можете увидеть его дерево предков.Вы также можете использовать функцию плоского представления, чтобы увидеть все унаследованные объекты класса в одном и том же редакторе.
Как правило, INTEGER
является псевдонимом для INTEGER_32
.INTEGER_32
наследуется от COMPARABLE
(до INTEGER_32_REF
).COMPARABLE
обеспечивает функции max
и min
.Их подпись
max (other: like Current): like Current
означает, что все потомки COMPARABLE
берут и возвращают другое значение того же типа, что и они сами.
Следовательно:
local
a, b, maximum: INTEGER
do
a := <some value>
b := <some value>
maximum := a.max(b) -- or b.max(a)
end
Eiffel имеетунифицированная система типов, которая означает, что каждый тип определяется как класс, даже «примитивные» типы, которые получают специальную обработку в большинстве других языков.INTEGER
, CHARACTER
, BOOLEAN
, ARRAY
и другие подобные базовые типы, таким образом, поставляются с богатым набором функций, которые вы можете просматривать в своих собственных файлах классов, как и в случае с любым другим типом.Поскольку операторы также определены как обычные функции, это также способ точно определить, какие операторы существуют для любого данного класса.