Обобщенные методы
Обобщенные методы — это методы, которые используют обобщенные типы для параметров и возвращаемого значения. Они позволяют повторно использовать одно и то же описание метода для различных типов, делая методы более универсальными и, таким образом, позволяя избежать дублирования кода. Кроме того, так как обобщенные типы указываются сразу же во время вызова, это позволяет избежать ошибок типизации еще на этапе компиляции.
В общем случае обобщенный тип указывается в угловых скобках после названия метода и дублируется в местах указания типов параметров и возвращаемого значения. Так, например, в программном коде выглядит сигнатура обобщенного метода ПолучитьИлиУмолчание
для объекта Товары
типа ЧитаемоеСоответствие<Число, Товары.Ссылка>:
Товары.ПолучитьИлиУмолчание<ТипУмолчания>(Ключ: Число, ВычислительУмолчания: () -> ТипУмолчания): Товары.Ссылка|ТипУмолчания // ТипУмолчания — обобщенный тип
По указанному коду данный метод находит и возвращает соответствующий товар типа Товары.Ссылка
. Если же искомый товар по коду не найден, будет использоваться умолчание типа Строка
:
Товары.ПолучитьИлиУмолчание<Строка>(Ключ: Число, ВычислительУмолчания: () -> Строка): Товары.Ссылка|Строка // Строка — обобщенный тип
Так будет выглядеть вызов метода:
пер КодТовара = 0120300
Товары.ПолучитьИлиУмолчание<Строка>(КодТовара, () -> "Товар с кодом %{КодТовара} не найден!") // Результат: Товар с кодом 0120300 не найден!
Таким образом, ТипУмолчания можно рассматривать как переменную типа, вместо которой при вызове подставляется необходимый тип, например Товары.Ссылка или