第五章継承
1619 ワード
JSでは可能な継承パターンがたくさんあります.この章では、いくつかの最も直接的なパターンを研究します.もちろん、もっと複雑な構造パターンがたくさんありますが、シンプルさを保つのが一番いいです.
1.ダミークラス
2オブジェクト説明子
構造期には大きなパラメータが必要な場合があります.
私自身は深く体得しています.前に書いた関数で受けたパラメータが多いので、他の人が呼びにくいです.
だから、一番いい方法は:プロトタイプ 原型による継承関数化
1.ダミークラス
var Mammal = function (name){
this.name = name;
}
Mammal.prototype.getName = function (){
return this.name;
};
Mammal.prototype.says = function (){
return this.saying || '';
};
var myMammal = new Mammal('hello the mammal');
var name = myMammal.getName();
現在、もう一つの疑似クラスを構築して、Mammalを継承することができます.これは彼のconstructor関数を定義し、そのprototypeをMammalの例に置き換えることによって実現されます.var Cat = function(name){
this.name = name;
this.saying = 'meow';
}
//Cat.prototypeを置き換えると新しいMammalの例になります.Cat.prototype = new Mammal();
//新プロトタイプを拡充し、Purとget_を増やすnameメソッドCat.prototype.purr = function(n) {
var i, s = '';
for( i = 0; i < n; i ++ ){
if(s){
s += '-'
}
s += 'r';
}
return s;
}
Cat.prototype.getName = function(){
return this.says() + ' ' + this.name + ' ' + this.says();
}
var myCar = new Cat('Henrietta');
var says = myCar.says();
var purr = myCar.purr(5);
var name = myCar.getName();
"疑似クラス"の形式は、jsに慣れていないプログラマーに便利を提供することができますが、それはまた、言語の本当の本質を隠しています.参考類の表示法はプログラマーを誤って書きすぎて複雑な階層構造になるかもしれない.2オブジェクト説明子
構造期には大きなパラメータが必要な場合があります.
私自身は深く体得しています.前に書いた関数で受けたパラメータが多いので、他の人が呼びにくいです.
だから、一番いい方法は:
var parame = {
first: f,
middle: m,
last: l,
state: s,
city: c
}
var myObject = maker(parame);