Работа с интерфейсами
Библиотека предоставляет аннотацию &Реализует
, которая позволяет указать, что класс должен реализовать указанный интерфейс. Интерфейс должен быть представлен модулем, имя которого и указывается в аннотации.
Процедура МетодИнтерфейса(Параметр) Экспорт
КонецПроцедуры
Процедура МетодИнтерфейса(Параметр)
Сообщить(Параметр);
КонецПроцедуры
&Реализует("МойИнтерфейс")
Процедура ПриСозданииОбъекта()
КонецПроцедуры
Класс МойКласс
объявляет, что он реализует интерфейс МойИнтерфейс
и должен содержать метод МетодИнтерфейса
.
Проверка реализации интерфейса осуществляется с помощью класса ВалидаторРеализации
. В валидатор можно передавать как сам объект, который необходимо проверить, так и его тип.
#Использовать extends
ВалидаторРеализации = Новый ВалидаторРеализации();
ВалидаторРеализации.ИнтерфейсыРеализованыКорректно(Тип("МойКласс"));
В случае, если класс не реализует все методы интерфейса, будет выброшено исключение. Под реализацией подразумевается наличие всех методов интерфейса с совпадающим количеством параметров метода.
Класс может объявлять, что он реализует несколько интерфейсов, повторяя аннотацию &Реализует
для каждого интерфейса.
&Реализует("МойИнтерфейс")
&Реализует("МойДругойИнтерфейс")
Процедура ПриСозданииОбъекта()
КонецПроцедуры