node.jsはinheritysを利用して継承を実現します.
3577 ワード
util.inhersはオブジェクト間の原型継承を実現する関数です.JavaScriptのオブジェクト指向特性は、プロトタイプに基づいており、一般的なベースクラスとは異なります.JavaScriptは対象継承の言語レベルの特性を提供していません.プロトタイプのコピーによって実現されたのです.具体的な詳細は付録Aで議論しています.ここではutil.inheitsの使い方を紹介します.例は以下の通りです.
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);
代码laycode - v1.1
我们定义了一个基础对象 Base 和一个继承自 Base 的 Sub,Base 有三个在构造函数 内定义的属性和一个原型中定义的函数,通过 util.inherits 实现继承。运行结果如下: