Possible Duplicate:
set attribute with javascript super methodはサブクラスからスーパークラスのメソッドを呼び出す - JavaScriptの
私は楽しみのためにHTML5で簡単なゲームを作成しようとしています。私はPlayerクラスのスーパークラスであるはずのEntityクラスを持っています。
function Entity(x, y) {
this.x = x;
this.y = y;
this.tick = function() {
//Do generic stuff
}
}
function Player(x, y) {
this.parent.constructor.call(this, x, y);
this.tick = function() {
//Do player-specific stuff
this.parent.tick.call(this);
}
}
Player.prototype = new Entity();
Player.prototype.constructor = Player;
Player.prototype.parent = Entity.prototype;
問題は、このラインである:「:未定義の 『と呼ぶ』メソッドを呼び出すことはできませんキャッチされない例外TypeError:」
this.parent.tick.call(this);
私はクロームのJavaScriptコンソールに表示されたエラーを取得します。
私はそれを得ることはできません。私は似たような問題の投稿を見つけるのに長い時間を費やしました。スーパークラスのコンストラクタへの呼び出しは正常に動作しますが、スーパークラスのtickメソッドへの呼び出しは機能しません。
私はこれが良いセットアップ(サブクラスのティックからスーパークラスのティックを呼び出す)であるかどうかわからないので、ゲームを作るのはとても新しいです。人々が使うより良い、より典型的な方法があれば、教えてください。
ありがとうございました。
プロトタイプに一般的なものがないのはなぜですか?そこに簡単にアクセスできます。 – Bergi
javascriptにはjavaなどの他の古典的な言語から使用されているような古典的な継承はありません。プロトタイプの継承を読んで、古典的な相違点について学ぶ必要があります。 – Christoph