@interface
Оглавление
Синтаксис
С помощью словаря тегов JSDoc (включен по умолчанию):
@interface [<name>]
С помощью словаря тегов Closure Compiler:
@interface
Обзор
Тег @interface помечает символ как интерфейс, который могут реализовывать другие символы. Например, ваш код может определять родительский класс, чьи методы и свойства пусты. Вы можете добавить тег @interface к родительскому классу, чтобы указать, что дочерние классы должны реализовать методы и свойства родительского класса.
Добавьте тег @interface к символу верхнего уровня для интерфейса (например, к конструкторской функции). Вам не нужно добавлять тег @interface к каждому члену интерфейса (например, к методам экземпляра интерфейса).
Если вы используете словарь тегов JSDoc (включён по умолчанию), вы также можете определить интерфейс с виртуальными комментариями, а не кодом для интерфейса. Смотрите "Виртуальные комментарии, определяющие интерфейс" для примера.
Примеры
В следующем примере функция Color представляет собой интерфейс, который могут реализовывать другие классы:
/**
* Interface for classes that represent a color.
*
* @interface
*/
function Color() {}
/**
* Get the color as an array of red, green, and blue values, represented as
* decimal numbers between 0 and 1.
*
* @returns {Array<number>} An array containing the red, green, and blue values,
* in that order.
*/
Color.prototype.rgb = function() {
throw new Error('not implemented');
};
Следующий пример использует виртуальные комментарии, а не код, для определения интерфейса %%%CODE_BLOCK_8%%:
/**
* Interface for classes that represent a color.
*
* @interface Color
*/
/**
* Get the color as an array of red, green, and blue values, represented as
* decimal numbers between 0 and 1.
*
* @function
* @name Color#rgb
* @returns {Array<number>} An array containing the red, green, and blue values,
* in that order.
*/
Связанные ссылки
© 2011–2017 the contributors to the JSDoc 3 documentation project
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://jsdoc.app/tags-interface.html