node中的继承util.inherits
作者:binjs中的面向对象是基于原型的,与常见的基于类的不同,并没有继承的特性
而util.inherits(constructor, superConstructor)是一个实现对象间原型继承 的函数。
var util = require('util');
function Base() {
this.name = 'base';
this.base = 1991;
this.sayHello = function() {
console.log('Hello ' + this.name);
};
}
Base.prototype.showName = function() {
console.log(this.name);
};
function Sub() {
this.name = 'sub';
}
util.inherits(Sub, Base);
var objBase = new Base();
objBase.showName();
objBase.sayHello();
console.log(objBase);
var objSub = new Sub();
objSub.showName();
//objSub.sayHello();
console.log(objSub);
util.inherits(Sub, Base); sub继承于Base,注意这里只继承与base原型中定义的方法(prototype),而构造函数内部的方法并没有被继承