Objective-Cの個人(オブジェクト)主義 (2)

 

<<1日記へ | 3>>

 「ここ」と「よそ」との関係をあらわす方法はいろいろある。第三者から見たら二人は夫婦かもしれないし、「よそ」から見た「ここ」は愛人かもしれないし、「ここ」から見た「よそ」は恋人かもしれない。「ここ」から見た二者の関係を表わすために、Cocoaではアウトレット outletという考え方を使う。
 そもそも、アウトレットということばは、「何かを外に出すときの出口」という意味をもっている。コンセントは電源にとっての「アウトレット」だし、河口は川にとっての「アウトレット」、はけ口は感情にとっての「アウトレット」、直営小売店はメーカーにとっての「アウトレット(ショップ)」だ。
 アウトレットには相手があって、相手につながっている。コンセントは電力の供給先につながっているし、河口は海や湖につながっているし、はけ口はグチの聞き役につながっているし、直営小売店はさまざまな場所や消費者につながっている。

 ひとつのものからたくさんのアウトレットが出ていることもある。たとえばひとつの電源がいくつものコンセント口を持っていたり、ひとつの川が分岐していくつもの湖や海に流れ込んでいたり、アウトレットショップがあちこちにあったりする。そこで、たくさんある「アウトレット」を区別するために、ひとつひとつに名前をつけてやる。
 たとえば、あなたには感情のはけ口というアウトレットがたくさんあって、グチをこぼしたり、叫んだり、その辺のものをたたき割ったりする。そこで、相手に応じてこれらを区別することにする。たとえばアウトレット1は「友達」、アウトレット2は「浜辺の夕陽」、アウトレット3は「安物の皿」というぐあいだ。
 どんな相手につながっているかによってそのアウトレットの性質は変わる。友達に言えないことを浜辺の夕陽に向かって叫ぶかもしれないし、友達を安物の皿をたたき割るように扱ったりはしない。
つまり、あなたは、たとえ感情があふれて止まらないときにでも、相手によってどんな行為 actionをするかを変えている。


さらに、行為には方法 methodというものがある。友達に花を渡すためには、花をどこかで買ってくる方法もあるし、どこかで花を摘んでくる方法もある。どんな方法をとるかは人それぞれだろう。逆に、どんな行為をどんな方法で行なうかによって、その人がどんな「種類(クラス class)」の人間かが決まってくる。

 このように、オブジェクト指向という個人主義では、一オブジェクトはただ尊重されるだけでなく、相手がどんな種類のオブジェクトかを問題にする。そいつがどんな種類に属しているかがわかれば、そいつにどんな行為ができるかがわかるし、ある種類に属するものは、必ずある行為をある方法で行なってしまう。オブジェクト指向の考え方は、よくいえば割り切った世界観をもっており、悪く言えば相手を徹底して分類する冷たい世界観を持っている。

 「オブジェクト指向」というと、なんだかオブジェクトの中身をプログラミングするみたいに聞こえるけど、じつはオブジェクトの属している種類(クラス)の性質をプログラミングするのだ。 つまり、その種類に属するオブジェクトがどんな行為(アクション action)をどんな方法(メソッド method)で行なうかをプログラムすれば、オブジェクトのとる行動はおのずと決まる、というわけだ。オブジェクトは、じつは種類(クラス)の一事例(インスタンス)に過ぎない。

(EV記:20030509)

to the Beach contents