【ママ割】ポイント5倍(対象ショップ限定エントリー必要)シャープ イオン発生機 プラズマクラスター25000搭載 車載用 ゴールド IG-GC15-N【ラッピング不可】【MC】


 >  > 【ママ割】ポイント5倍(対象ショップ限定エントリー必要)シャープ イオン発生機 プラズマクラスター25000搭載 車載用 ゴールド IG-GC15-N【ラッピング不可】【MC】

235/45R17 CONTINENTAL コンチネンタル UltraContact UC6 ウルトラコンタクト UC6 weds RIZLEY JT ウェッズ ライツレー ジェーティー サマータイヤホイール4本セット

235/40R18 95W XL MAXTREK マックストレック MAXIMUS M1 マキシマス エムワン Euro Speed MX-01 ユーロスピード MX-01 サマータイヤホイール4本セット 4本セット ポルシェ承認 245/35R20 91Y NO ミシュラン パイロットスポーツカップ2 新品 サマータイヤ送料無料 TRUST(トラスト) スバル サンバー トライ/ディアス プラグ [メール便送料無料]Greddy レーシングプラグ イリジウムチューン 熱価7番 1996/9~1999/2 サンバー KS3/KS4/KV3/KV4 (赤帽車) ■エンジン:EN07 ■排気量:660 4本セット アルパインスターズ 2019年春夏モデル ジャケット AXEL AIR 13 黒/赤 Sサイズ 8059175010200 HD店 LEONIS MX/レオニスMX 日産 ラフェスタハイウェイスター CWE系(B35) アルミホイール 1本 【16×6.5J 5-114.3 INSET53 PBMC/TI】 【USA在庫あり】 コブラ COBRA フルエキゾースト ドラッグパイプ 98年-03年 ドラッグスター XVS650A BLV2263 JP店

Macromedia Flash非公式テクニカルノート

IG-GC15-N【ラッピング不可】【MC】 イオン発生機 ゴールド IG-GC15-N【ラッピング不可】【MC】 ゴールド 車載用 プラズマクラスター25000搭載 【ママ割】ポイント5倍(対象ショップ限定エントリー必要)シャープ

ID: FN0204001 Product: Flash

Platform: All
Version: MX

1. superによるスーパークラスの初期化とメソッドの実行
MXから実装された'super'演算子を使用すると、サブクラスのコンストラクタでスーパークラスを初期化したり、サブクラスのメソッドからスーパークラスのメソッドを呼出すことができます。'super'演算子の使用法方について理解するためには、「継承」に関する基本的な知識が必要となります。「継承」については、オンラインヘルプ「ActionScript 言語について」>「カスタムオブジェクトについて」>「継承の作成」をご参照ください。

サブクラスのコンストラクタでスーパークラスを初期化し、サブクラスのメソッドからスーバークラスのメソッドを呼出すスクリプトのサンプルが、以下です。

Person = function (name) {
  this.name = name;
};
Person.prototype.getInfo = function() {
  return this.name;
};
Profile = function (name, hobby) {
  // [1]スーパークラスのコンストラクタを呼出して初期化
  super(name);
  this.hobby = hobby;
};
// [2]スーパークラスのインスタンスを'prototype'に継承
Profile.prototype = new Person();
// [3]サブクラスにメソッドを設定
Profile.prototype.getInfo = function() {
  // [4]スーパークラスのメソッドを呼出す
  var name = super.getInfo();
  return name+":"+this.hobby;
};
// [5]コンストラクタによるインスタンスの生成とメソッドの実行
madScripter = new Profile("Fumio", "Bug fixing");
trace(madScripter.getInfo());
// 出力ウィンドウの結果
Fumio:Bug fixing

スクリプト中に記載したコメントに沿って、簡単にご説明します。

[1]サブクラス"Profile"のコンストラクタの中で、スーパークラスを'super'演算子で呼出し、引数を渡しています。ただし、コンストラクタを定義した段階では 【マラソンでポイント最大43倍】ショウエイ(SHOEI) フルフェイス Z-7 FLAGGER TC-1 XLサイズ 【マラソンでポイント最大43倍】ショウエイ(SHOEI) フルフェイス Z-7 PARAMETER TC-1 XLサイズ、まだ関数中のステートメントは実行されません。実際に処理が行われるのは、[5]でコンストラクタを呼出したときになります。

[2]サブクラス"Profile"の'prototype'プロパティに、スーパークラス"Person"のコンストラクタから生成したオブジェクトインスタンスを設定しています。

注意しなければいけないのは、このステートメントは、サブクラスの'prototype'プロパティを、スーパークラスのオブジェクトインスタンスで書替えているということです。したがって、サブクラスの'prototype'にメソッドやプロパティを設定するのは ブレンボ ブレーキパッド トヨタ ヴァンガード ACA33W/ACA38W/GSA33W 07/08~ リア レッドパッド P83 089S admiration プリウス 50系 ハイブリッド サイドステップ 3色塗分け塗装済 ホワイトパールクリスタルシャイン/アティチュードブラックマイカ/ブルーマイカメタリック、このステートメントの後に行わなければなりません。たとえば D-SPORT ストーリア/X4 L.S.D.〔FF車専用〕 1WAY、つぎの[3]のメソッド設定をこのステートメントより前に記述すると、

、その設定は'prototype'プロパティの書替えによってクリアされてしまいます。

また、[1]でスーパークラスを初期化する前に、このステートメントがコンストラクタを呼出していることにも、留意しておく必要があります。たとえば、スーパークラスの初期化で、コンストラクタが呼出された回数をプロパティなどに使用する場合は 、この処理が回数にカウントされてしまうことになります。

[3]サブクラスの'prototype'プロパティに、メソッドを設定しています。

[4]メソッド中で、'super'演算子を使ってスーパークラスの同名のメソッドを呼出しています。

2. コンストラクタ中に定義したメソッド
前述のサンプルでは、メソッドをクラスの'prototype'プロパティに定義しました。これに対して、メソッドをコンストラクタの中でインスタンスに対して設定する方法も考えられます。けれど、この方法は推奨されていません(オンラインヘルプ「ActionScript 言語について」>「カスタムオブジェクトについて」>「カスタムオブジェクトにメソッドを割り当てるには」参照)。コンストラクタからオブジェクトを生成するたびに、インスタンスに対して個別にメソッドが定義されることになるからです。

'super'演算子でスーパークラスのメソッドを実行する場合には、スーパークラスのコンストラクタ中で定義したのでは、正しく呼出すことができません。前述のサンプルのメソッド定義を、コンストラクタ中で行うように書替えたのが以下のスクリプトです。

Person = function (name) {
  this.name = name;
  // コンストラクタ中でメソッドを定義
  this.getInfo = function() {
    return this.name;
  };
};

【ママ割】ポイント5倍(対象ショップ限定エントリー必要)シャープ イオン発生機 プラズマクラスター25000搭載 車載用 ゴールド SIXSENSE(シックスセンス) IG-GC15-N【ラッピング不可】【MC】 ディクセル


Profile = function (name, hobby) {
  super(name);
  this.hobby = hobby;
  // コンストラクタ中でメソッドを定義
  this.getInfo = function() {
    var name = super.getInfo();
    return name+":"+this.hobby;
  };
};
Profile.prototype = new Person();
madScripter = new Profile("Fumio", "Bug fixing");
trace(madScripter.getInfo());
// 出力ウィンドウの結果
:Bug fixing

出力ウィンドウの結果を見ると、スーパークラス"Person"のコンストラクタ中に定義したメソッドが呼出されていません。'super'演算子を使って呼出すメソッドは、

【ママ割】ポイント5倍(対象ショップ限定エントリー必要)シャープ イオン発生機 プラズマクラスター25000搭載 車載用 ゴールド IG-GC15-N【ラッピング不可】【MC】

、クラスの'prototype'に定義する必要があります。

3. __proto__を使った継承
__proto__による継承でsuperを使う」をご参照ください。

_____

作成者: 野中文雄
更新日: 2003年5月15日スクリプト中の不要な引数削除
更新日: 2002年4月29日 スクリプト中の改行漏れ修正
作成日: 2002年4月9日


Copyright ©【ママ割】ポイント5倍(対象ショップ限定エントリー必要)シャープ イオン発生機 プラズマクラスター25000搭載 車載用 ゴールド IG-GC15-N【ラッピング不可】【MC】 All Rights Reserved. © 2001-2006 Fumio Nonaka.  All rights reserved.
   
{yahoojp} {fumiononaka.com} jpprem01-zenjp40-wl-zd-14985 {yahoojp}jpprem01-zenjp40-wl-zd-14985