语法
¥Syntax
@implements {typeExpression}
概述
¥Overview
@implements 标签表示符号实现了接口。
¥The @implements tag indicates that a symbol implements an interface.
将 @implements 标记添加到实现接口(例如构造函数)的顶层符号中。你不需要将 @implements 标记添加到实现的每个成员(例如,实现的实例方法)。
¥Add the @implements tag to the top-level symbol that implements the interface (for example, a
constructor function). You do not need to add the @implements tag to each member of the
implementation (for example, the implementation's instance methods).
如果你没有在实现中记录其中一个符号,JSDoc 将自动使用该符号的接口文档。
¥If you do not document one of the symbols in the implementation, JSDoc will automatically use the interface's documentation for that symbol.
示例
¥Examples
在以下示例中,TransparentColor 类实现 Color 接口并添加 TransparentColor#rgba 方法。
¥In the following example, the TransparentColor class implements the Color interface and adds
a TransparentColor#rgba method.
/**
* 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');
};
/**
* Class representing a color with transparency information.
* * @class
* @implements {Color}
*/
function TransparentColor() {}
// inherits the documentation from `Color#rgb`
TransparentColor.prototype.rgb = function() {
// ...
};
/**
* Get the color as an array of red, green, blue, and alpha values, represented
* as decimal numbers between 0 and 1.
* * @returns {Array<number>} An array containing the red, green, blue, and alpha
* values, in that order.
*/
TransparentColor.prototype.rgba = function() {
// ...
};