JavaScript での継承に関するチュートリアルを読んでいますが、次のステートメントがあります。
Rabbit クラスのオブジェクトが Animal クラスから継承するには、次のものが必要です。
- 動物の定義
- ウサギの定義
Animal から Rabbit を継承する:
Rabbit.prototype = new Animal()
彼らは、このアプローチには冗長なオブジェクトを作成する必要があるという欠点があると言います。冗長なオブジェクトを作成する必要がある理由がわかりません。私は次のことを試しましたが、冗長なオブジェクトを作成せずに機能しました:
function Animal() {};
function Rabbit() {};
Rabbit.prototype = Animal.prototype
Animal.prototype.go = function() {alert("I'm inherited method"};
var r = new Rabbit();
r.go();
ここで何が欠けていますか?