オブジェクト(概要) [Edit]

オブジェクトとは

オブジェクト指向の根幹をなす、オブジェクトの定義は抽象的で非常に厄介なものです。

その上、Flash はドロー、アニメーションツールとして発展してきたため、Version5 になっても、線ツールや矩形ツールで描画された図形のことをオブジェクトと呼んでいます。
マニュアルやヘルプでは、このドロー、アニメーションツールの用語としてのオブジェクトと、ActionScript の用語としてのオブジェクトは別物であるとしていますが、マクロメディア自体が、随所で混同した使い方をしているので、ユーザーはますます理解不能となってしまいます。
このサイトでは、混乱を避けるため、前者を「描画パーツ」と呼び、ActionScript のオブジェクトだけを「オブジェクト」と呼びます。

現時点ではオブジェクト指向の抽象的な話は避け、構成要素から見た簡単な説明だけにします。

Flashの定義済みオブジェクトには、Array、Boolean、Color、Date、Key、Math、Mouse、Number、Object、Selection、Sound、String、XML、XMLSocket の14種類があります。このうち、Objectオブジェクトは、ユーザーが独自にオブジェクトを定義する際に使用する汎用Objectです。
詳しくは『ActionScript辞書』を参照してください。


プロパティ

オブジェクトは、プロパティと呼ばれるデータの集まり(複合データ)です。
プロパティは、属性、特性と訳されるオブジェクトを特徴づけるデータのことです。

わかりやすくするため、ムービークリップを例に見てみましょう。ムービークリップは、その重要性によりデータ型として独立していますが、実際にはオブジェクトの一種です。

ムービークリップの定義済みプロパティ(後述)には、インスタンスの位置を表す_x、_y、サイズを表す_width、_height、_xscale、_yscale、配置角度を表す_rotation、可視/不可視を表す_visible などが用意されています。これらのプロパティは、ひとつずつがインスタンスの特徴を定め、これら全体が集まることによって、オブジェクトが定義されていると考えることができます。
現実は、これほど単純で分かりやすいものではありませんが、本来、プロパティとはこのようなものであると考えてください。
実際には、オブジェクトに所属するすべてのデータをプロパティと呼びます。

Flash の変数は、必ずオブジェクト上に生成されます。したがって、変数もすべてプロパティとなります。また、オブジェクトに所属する関数もプロパティと呼びます。他言語を習得されている方は、この点に注意してください。

オブジェクト


定義済みプロパティ

システムによってあらかじめ用意されたプロパティのことを定義済みプロパティといいます。
Flashでは各オブジェクトごとに、定義済みプロパティが用意されています。プロパティによっては、参照のみのものも存在します。各オブジェクトにどんな定義済みプロパティがあり、どんな内容なのかは、『ActionScript辞書』を参照してください。

定義済みプロパティ


メソッド

プロパティのうち、オブジェクトに所属する関数のことをメソッドといいます。
Flashでは14種類のオブジェクトごとに、専用の定義済みメソッドが用意されています。
スクリプトによって生成され、実体化したオブジェクトを、ムービークリップと同様にインスタンスといいます。メソッドは、このインスタンスごとに用意されますので、呼び出す際には、どのインスタンスのメソッドなのかを指定する必要があります。

また、メソッドはユーザーが定義して追加することもできます。このようなユーザーが定義した関数のことをカスタム関数といいます。

メソッド


プロパティへのアクセス

オブジェクトは下図のようにインスタンス名を持ち、各プロパティは名前と値の一対からなっています。
プロパティへのアクセスは、まずオブジェクトを特定するターゲットパスを指定し、その後ろにドット演算子(.)、その後にプロパティ名を記述することによって行います。メソッドの場合はメソッド名の後ろに関数呼び出しのカッコ()を付加して呼び出します。

オブジェクトの構造
プロパティへのアクセス

・関連項目

ターゲットパス

その他の記事