Это значение по умолчанию для отделяемой версии типа. Для ссылочных типов это Void
. Для расширенных типов это соответствующее значение по умолчанию, то есть значение, инициализированное с помощью default_create
. Например, для BOOLEAN
это False
.
Если расширенный класс предоставляет конкретную c реализацию default_create
, он используется для инициализации Result
даже без тела в default
. Например, рассмотрим класс
expanded class X inherit ANY redefine default_create end feature
item: INTEGER_32
default_create do item := 42 end
end
Для переменной x
типа X
выражение x.default.item
даст 42. Когда вызывается default
, значение Result
равно инициализируется вызовом X.default_create
, который устанавливает item
. Таким образом, никаких инструкций в теле default
не требуется.
Подводя итог, default
возвращает
Void
для ссылочных типов; - a значение по умолчанию для расширенных типов, которые не переопределяют
default_create
, включая базовые c типы: False
, 0
, 0.0
, et c. Если расширенный тип имеет вложенные атрибуты, они инициализируются рекурсивно с использованием того же правила. - значение, полученное путем вызова
default_create
в противном случае.