javascript継承のツール関数2
1087 ワード
原型の方式によって種類を書いて、つまり属性と方法はすべて原型の上で掛かります.
exted関数は以下の通りです.すなわち、親の値を作成して、サブタイプの原型に与えます.
最後のテストコード、
/**
* Person
*/
function Person(){
}
Person.prototype.nationality = 'China';
Person.prototype.getNationality = function() {return this.nationality;}
Person.prototype.setNationality = function(n) { this.nationality = n;}
exted関数は以下の通りです.すなわち、親の値を作成して、サブタイプの原型に与えます.
/**
* ---
* @param {Function} subCls
* @param {Function} superCls
*/
function extend(subCls,superCls) {
subCls.prototype = new superCls();
}
サブクラスは以下の通りですfunction Man() {}
extend(Man,Person);
サブクラス固有の属性と方法を追加します.Man.prototype.name = 'jack';
Man.prototype.getName = function() { return this.name;}
Man.prototype.setName = function(n) { this.name=n;}
最後のテストコード、
var m = new Man();
console.log(m);
console.log(m instanceof Person);