首页 > node > node中的继承util.inherits

node中的继承util.inherits

作者:bin

js中的面向对象是基于原型的,与常见的基于类的不同,并没有继承的特性

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

您必须 [ 登录 ] 才能发表留言!