购物车
登陆 / 注册
微信扫码登陆

@augments

@augments
@augments指明标识符继承自哪个父类,后面需要加父类名。你可以使用这个标签来记录基于类和并基于原型的继承。
编辑:青灯夜游 青灯夜游 更新时间:2019-01-15 18:01:36

@augments

指名这个子类继承至哪个父类,后面需要加父类名

别名:@extends

Syntax(语法)

@augments <namepath>

Overview(概述)

@augments or@extends标签指明标识符继承自哪个父类,后面需要加父类名。你可以使用这个标签来记录基于类和并基于原型的继承。

在JSDoc3.3.0或更高版本中,如果一个标识符继承自多个父类,并且多个父类有同名的成员,JSDoc使用来自列出的JSDoc注释中最后一个父类的文档。

Examples (例子)

在下面的例子中,Duck 类被定义为Animal的子类。Duck实例和Animal实例具有相同的属性,以及 speak方法是Duck实例所独有的。

例如,描述一个父类和子类的关系:

/**
 * @constructor
 */
function Animal() {
    /** Is this animal alive? */
    this.alive = true;
}

/**
 * @constructor
 * @augments Animal
 */
function Duck() {}
Duck.prototype = new Animal();

/** What do ducks say? */
Duck.prototype.speak = function() {
    if (this.alive) {
        alert('Quack!');
    }
};

var d = new Duck();
d.speak(); // Quack!
d.alive = false;
d.speak(); // (nothing)

在下面的例子中,Duck 类继承自FlyableBird 类,这两个父类都定义了一个takeOff方法。由于@augments Bird 是在 Duck 文档列表中最后,JSDoc自动使用Bird#takeOff注释来记录Duck#takeOff

例如,用重写方法来实现多重继承:

/**
 * Abstract class for things that can fly.
 * @class
 */
function Flyable() {
    this.canFly = true;
}

/** Take off. */
Flyable.prototype.takeOff = function() {
    // ...
};

/**
 * Abstract class representing a bird.
 * @class
 */
function Bird(canFly) {
    this.canFly = canFly;
}

/** Spread your wings and fly, if possible. */
Bird.prototype.takeOff = function() {
    if (this.canFly) {
        this._spreadWings()
            ._run()
            ._flapWings();
    }
};

/**
 * Class representing a duck.
 * @class
 * @augments Flyable
 * @augments Bird
 */
function Duck() {}

// Described in the docs as "Spread your wings and fly, if possible."
Duck.prototype.takeOff = function() {
    // ...
};
网站导航
网站首页
学习路径
视频教程
开发软件
旗下子站
php中文网
phpstudy
文章列表
教程文档
关于我们
企业合作
人才招聘
联系我们
讲师招募
QQ交流群
QQ交流群
微信公众号
微信公众号