オブジェクト指向とは
Coline Moock氏はオブジェクト指向について次のような例を上げています。
飛行機をまったくゼロから作れと言われたらどうしますか?
その場合に行うべき処理について思いをめぐらせてみてください。
まさかいきなり金属工場に行って溶接を始めたりはしないでしょう。
まずは飛行機の設計図の作成から始めるはずです
しかも何もないところから飛行機を作る場合には、一枚だけでなく、
飛行機の多くの部分(車輪や両翼、椅子、ブレーキなど)の
それぞれについて設計図を書く必要があるでしょう。
そして今度は部分ごとにそれぞれの設計図どおりに加工し、
それが終わったらマスターの設計図に従って組み立てていきます。
ActionScriptのオブジェクトは、空を飛ぶ飛行機が一連の設計図に基づいて相互に作用するパーツの集まりであるのと同じように、動作する一連のクラスに基づいて相互に作用するオブジェクトの集まりです。
ActionScriptのオブジェクトは、プログラム内の目に見えるものと目に見えない概念の両方を表しています。
オブジェクトの例としては数値、ボタン、カレンダーの日付、画像のぼかし効果などであったりします。
オブジェクトはクラスの具体化(インスタンス化)であり、クラスはオブジェクトの基になる設計図のことをいいます。
クラスとオブジェクトを使ってプログラムを構築することをオブジェクト指向プログラミングobject-oriented programming(OOP)といいます。
カスタムクラスとビルトインクラス
新しいプログラムを作成するときの最初の手順はクラスを決める事です。各クラスはオブジェクトの特定のタイプに関する特性と振る舞いの両方をコードで表したものです。
オブジェクトの特定のタイプに関する特性と振る舞いを表すためにはゼロの状態から記述するクラスが必要になります。このクラスのことをカスタムクラスと呼びます。
これに対してよく使われるオブジェクトの特定のタイプに関する特性と振る舞いについてはActionScriptとFlashランタイムが提供するさまざまなクラスがあります。これをビルトインクラスと呼びます。ビルトインクラスには数値やテキストの作成、サウンドの再生、画像の表示、ネットワークへのアクセス、ユーザー入力の応答などの基本的な作業の実行に使用します。
ビルトインクラスの詳細はAdobeが公開している「ActionScript 3.0 コンポーネントリファレンスガイド」を参照します。
次回は3D描画のライブラリを活用してカスタムクラスを作成していきます。