JavaScript 的面向对象特性是基于原型的,与常见的基于类的不同。JavaScript 没有 提供对象继承的语言级别特性,而是通过原型复制来实现的。
在nodejs中通过使用util模块来实现继承关系。
util.inherits(子类名, 父类名)是一个实现对象间原型继承 的函数。
接下来开始进行代码演示。
1、先创建一个父类
//父类 function Parent() { this.name = 'parent', this.age = 21, this.sayHello = function() { console.log('hello '+this.name); } } Parent.prototype.showName = function() { console.log('我是'+this.name); } module.exports = Parent;
2、再创建一个子类
//子类 function Sub() { this.name = 'sub' } module.exports = Sub;
3、创建一个实现继承关系的类,首先引入util模块,由于util是nodejs核心模块,不用安装,直接引用即可
var util = require('util'); var Parent = require('./ParentClass'); var Sub = require('./SubClass'); util.inherits(Sub, Parent); //让Sub类继承Base类 var parentObject = new Parent(); parentObject.sayHello(); parentObject.showName(); console.log(parentObject); var subObject = new Sub(); // subObject.sayHello(); subObject.showName(); console.log(subObject);
运行结果为: