JavaScript継承を実装する最も簡単な方法は、コールメソッド(または適用方法)とプロトタイプチェーンメソッドですが、両方の方法には欠点があり、それらの混合は良好な継承実装方法です。例があります:
コードコピーは次のとおりです。
機能動物(年齢){
this.age = age;
}
animal.prototype.sayage = function(){
window.alert( "私の年齢は"+this.age+"!");
};
function dog(age、name){
Animal.call(これ、年齢);
this.name = name;
}
dog.prototype = new Animal();
dog.prototype.sayname = function(){
window.alert( "i a a"+this.name+"!");
};
var dog = new Dog(15、 "Dog");
dog.sayname();
dog.sayage();
クラス動物の場合、それはフィールド属性の年齢と関数属性の言うことを持っています。 Sayageメソッドの定義は、プロトタイプメソッドを使用します。犬のクラスは動物を継承する必要があり、そのフィールド属性には年齢に加えて名前もあります。 Animal.callを介して(これ、年齢);犬は動物のフィールド属性年齢を継承し、それを初期化することができます。コールメソッドの最初のパラメーターは、この継承クラスへのこのポインターであり、2番目のパラメーターは動物クラスのコンストラクターのパラメーターです。実際、継承はコールメソッドを通じて達成できますが、唯一の要件は、親クラスの関数属性をコンストラクターで定義する必要があることです。これは、プロトタイプで定義される機能属性に適していません(プロトタイプの関数属性はコンストラクターで定義するよりも直感的です)。動物のプロトタイプによって定義された関数属性を継承するために、必要なステートメントは「dog.prototype = new Animal();」です。犬クラスのsayname()関数は、独自の関数属性です。
継承を実装するこの最も古典的な方法に加えて、現在、いくつかの無料ライブラリが利用可能です。しかし、あらゆる種類のライブラリを考えると、非常に計り知れないでしょう。時間があり、必要なときに勉強しましょう!