0

是否可以使用 JSDoc 注释在子类中公开超类的受保护实例方法?更具体地说,我有一个继承自 goog.ui.Control 的类。goog.ui.Control 有一个受保护的方法 setElementInternal。我想在子类中公开它的访问修饰符,以便从另一个类访问这个方法。

4

2 回答 2

0

答案如下所示。

“foo.js”

goog.provide('foo');

...

goog.inherits(foo,goog.ui.Control);

...

/** * @param {Element} 元素 */

foo.prototype.setElementInternalEncap = 函数(元素){

goog.bind(this.setElementInternal, this, element);

};

“酒吧.js”

goog.provide('bar');

goog.require('foo');

...

fooReference.setElementInternalEncap(元素);

于 2013-02-16T01:27:23.170 回答
0

不是直接的。

您需要在调用该方法的公共继承类中添加一个新@protected方法。像这样的东西应该工作。

/**
 * My public wrapper around a protected method
 * @param {Element} element Root element for this component
 */
my.namespace.Control.prototype.setElement = function(element) {
    this.setElementInternal(element);
}
于 2013-02-14T21:29:09.020 回答