Macromedia Flash非公式テクニカルノート super
Platform: All シンタックス 引数 引数 オプションとなる引数で、スーパークラスの側のメソッド(第1シンタックス)、またはスーパークラスのコンストラクタ関数(シンタックス2)に渡します。 戻り値 説明 第2シンタックス形式は、コンストラクタ関数の本文でスーパークラスの側のコンストラクタ関数を呼出すときに用いられます。そして、オプションとして引数を渡すことができます。この形式は、追加的な初期化の処理を行うサブクラスを作成し、かつスーパークラスの初期化を実行するスーパークラスのコンストラクタを呼出したいときに有効です。 例 function ParentClass() { 以下が、出力ウィンドウの表示です。 ChildClass implementation of method 以下のサンプルは、引数を'super'のコンストラクタに渡します。 function SuperClass(arg){ [訳者註] このサンプルだけでは、SubClassのインスタンス生成やSuperClassの継承が行われません。以下の2行のステートメントを、追加する必要があります(なお、「ActionScript Dictionary errata」参照)。 SubClass.prototype = new SuperClass(); [訳者註2] スーパークラスを継承するためには、'__proto__'プロパティを使うことも考えられます。けれど、サブクラスの'__proto__'プロパティにスーパークラスの'prototype'を設定した場合には、'super'演算子でコンストラクタ関数を呼出すことができません。スーパークラスのコンストラクタにより生成したオブジェクトインスタンスを設定すると、呼出し自体は可能になります。以下の第1ステートメントは'super'でSuperClassのコンストラクタ関数が呼出されますが、これをコメントアウトして第2ステートメントを有効にすると正しく呼出しができません。 SubClass.prototype.__proto__ = new SuperClass(); // コンストラクタが呼出せる [訳者註3] なお、'super'演算子によるスーパークラスの初期化と、そのメソッドの呼出しについては、併せて以下のノートをご参照ください。 Player 出典 _____ 作成者: 野中文雄 Copyright © 2001 and beyond Fumio Nonaka All rights reserved. |
|||