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),而构造函数内部的方法并没有被继承