Javascriptの関数のオーバーライド

javascript-override.png
  • C++ のようにオーバーライドする関数に virtual などの特殊な修飾子を付ける必要はありません。
  • Java のようにメソッドに final をつけてオーバーライドを禁止することもできません。
  • 多重継承はできません。
  • インタフェースの仕組みはありません。子クラスに強制的にメソッドを実装させたいときは代わりに throw new Error('Not Implemented');します

子クラスで同名のメソッドを定義されてしまえば問答無用でオーバーライドされてしまいます。
これは大規模なプログラムでは問題になってしまいますが、純粋な JavaScript では解決する手段がありません。

親クラスのメソッドを明示的に呼び出すには

親クラスのコンストラクタの呼び出しの場合と同様に call を使用します。

サポートサイト Wikidot.com