Javascript で継承を実装するには、一般的に次の 2 つの手順を実行します。
基本クラス「動物」があるとします
var Animal = function(name){
this.name = name;
}
私は今、サブクラス「犬」を同じものから派生させたいと思っています。だから私は言うだろう
var Dog = function(name) {
Animal.call(this,name);
}
したがって、派生クラスのコンストラクターから親クラスのコンストラクターを呼び出しています。2 番目のステップは、次のようにプロトタイプを設定することです。
Dog.prototype = new Animal();
これで、派生クラス Dog 内から基本の「Animal」クラス プロパティにアクセスできるようになりました。
だから私の質問は、なぜこれらの2つのステップが必要なのですか? を使用して基本クラスのコンストラクターを呼び出すだけの場合
Animal.call(this,name);
Inheritance を実装するにはそれで十分ではありませんか?
を使用してプロトタイプ プロパティも設定する必要があるのはなぜDog.prototype = new Animal();
ですか。
上記の2つのステップのそれぞれが何をするのかを理解したかったのですか?