Flash Lite 2.x および 3.0 ヘルプ

prototype (Object.prototype プロパティ)

public static prototype : Object

クラスまたは関数オブジェクトのスーパークラスを参照します。prototype プロパティは自動的に作成され、作成したクラスまたは関数オブジェクトに割り当てられます。このプロパティは、作成したクラスまたは関数に固有であるという点で静的です。たとえば、カスタムクラスを作成すると、prototype プロパティの値は、クラスのすべてのインスタンスで共有され、class プロパティとしてのみアクセスできます。カスタムクラスのインスタンスは、prototype プロパティに直接アクセスできません。アクセスするには、__proto__ プロパティ経由で行います。

次の例では、Shape という名前のクラスと Circle という名前の Shape のスーパークラスを作成します。

// 外部ファイル "Shape.as" で定義された Shape クラス
class Shape {
    function Shape() {}
}

// 外部ファイル "Circle.as" で定義された Circle クラス
class Circle extends Shape{
    function Circle() {}
}

Circle クラスを使用して、Circle の 2 つのインスタンスを作成できます。

var oneCircle:Circle = new Circle();
var twoCircle:Circle = new Circle();

次の trace ステートメントでは、Circle クラスの prototype プロパティがそのスーパークラス Shape をポイントしていることを示します。識別子 Shape は、Shape クラスのコンストラクタ関数を参照しています。

trace(Circle.prototype.constructor == Shape); // 出力 : true

次の trace ステートメントでは、prototype プロパティと __proto__ プロパティを同時に使用して、継承階層 (またはプロトタイプチェーン) を 2 レベル上に移動する方法を示します。Circle.prototype.__proto__ プロパティには、Shape クラスのスーパークラスへの参照が格納されています。

trace(Circle.prototype.__proto__ == Shape.prototype); // 出力 : true

関連項目

__proto__ (Object.__proto__ プロパティ)

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート