Flash に興味のある方はプログラミングの知識がない人も多いと思いますが、シンボルとインスタンスの違いを知っておくことは大変重要です。
「シンボル」を日本語にすると「象徴」になり、「インスタンス」を日本語にすると「実例」になるのですが、なんのこっちゃわからんというのが本音だと思います。私もそうでした。
Flash においてシンボルとはそのアニメーションの一般名となるアニメーションのことです。たとえば、消防車・救急車・バス・トラックの一般名は何だと思いますか?正解は「自動車」です。消防車・救急車・バス・トラックはどれも自動車ですよね?つまりはそういうことです。
…と、ここまでは簡単に理解できると思うのですが、難しいのが「一般名には段階がある」ということです。
たとえば、一般名を自動車とする物体(オブジェクト)に消防車がありますが、この世に存在するすべての消防車が全く同一の物体(オブジェクト)かというとそうではなく、一台一台ごとに性能やナンバープレートなどが異なっているはずです。ある消防車は7階まではしごが届いてナンバープレートが 12-34 かもしれませんし、またある消防車は散水性に優れてナンバープレートが 99-99 かもしれません。このように個々の消防車がインスタンスとなるのです。英語に詳しい人は the がつくものがインスタンスと覚えるのもありかと思います。
重要なのはインスタンスではないものはすべてシンボルであるということです。「シンボルに段階がある」とはこういうことで、たとえば先ほどの消防車の例で言うと次のような関係になっています。
| 分類 | 物体(オブジェクト) |
|---|---|
| シンボル | 車 |
| シンボル | 自動車 |
| シンボル | 消防車 |
| インスタンス | 7階まではしごが届いてナンバープレートが 12-34 の消防車 |
| インスタンス | 散水性に優れるナンバープレートが 99-99 の消防車 |
7階まではしごが届いてナンバープレートが 12-34 の消防車(インスタンス)は消防車(シンボル)であり、消防車(シンボル)は自動車(シンボル)であり、自動車(シンボル)は車(シンボル)であるというわけです。
ちなみに「7階まではしごが届く」や「ナンバープレートが 12-34 」などのように、インスタンスの特徴となる情報を「プロパティ」や「フィールド」と呼ぶことがあります。こちらもあわせて覚えておいてください。
Contributions