Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – util.inherits用于Node中的自定义子类?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试为节点中的一些自定义类实现非常简单的继承.我正在做这样的事情:

function MyClass() {
    this.myFunction = function(){
        //do something
    }
}

function MySubclass(){
    this.myOtherFunction = function(){
         //do something else
    }
}

util.inherits(MySubclass,MyClass)
console.log(MySubclass.super_ === MyClass); // true

var x = new MySubclass()
console.log(x instanceof MyClass); // true

x.myFunction()

如果我运行这个,我得到错误

TypeError: Object #<MySubclass> has no method 'myFunction'

这种确切的模式非常适合从events.EventEmitter继承.它不适用于自定义类,还是我缺少的东西?

解决方法

util.inherits只设置原型链.你缺少的是调用超级构造函数,以便它添加东西.这是怎么做的:

function MyClass() {
    this.myFunction = function() {
        // Do something
    };
}

MyClass.prototype.doFoo = function () {
};

function MySubclass() {
    // This is doing the same as MyClass.apply(this,arguments);
    MySubclass.super_.apply(this,arguments);

    this.myOtherFunction = function() {
        // Do some other thing
    };
}

util.inherits(MySubclass,MyClass);

MySubclass.prototype.doBar = function() {
};

var x = new MySubclass();
x.myFunction();
x.myOtherFunction();
x.doFoo();
x.doBar();

您可能仍希望将这些方法移动到每个原型.

大佬总结

以上是大佬教程为你收集整理的node.js – util.inherits用于Node中的自定义子类?全部内容,希望文章能够帮你解决node.js – util.inherits用于Node中的自定义子类?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: