Interface

「私の犬」オブジェクトと「私」オブジェクトがメッセージをやりとりしてコミュニケーションするには、私の犬と私がお互いの言葉やしぐさを理解できなければなりません。そしてそれを理解するには、どんな言葉やしぐさがどんな意味なのかを、あらかじめ知っておかなければなりません。人と人とがコミュニケーションするには、相手が使っている語彙や文法をあらかじめ知っておくか、どんな暗号や記号を使うかについてあらかじめ二人で合意しておかなければなりません。

このように、オブジェクトどうしがコミュニケーションするにはあらかじめコミュニケーションの決まりがなければなりません。この決まりを「インターフェース」と呼びます。

インターフェースはただの決まりですから、いつどこでどんなメッセージを誰に送るかという具体的なことには関知しません。その具体的なことを決めるのはクラスです。飼い主オブジェクトに「ポチ」と呼ばれたら、インターフェースのルールによればそれは名前だから、「ポチ」という名前のついた犬インスタンスが「尻尾を振る」という行動をとる、ということをインターフェースに基づいて決めるのは犬クラスです。このように、クラスがインターフェースの決めたルールに具体的な内容を盛り込むことを「インターフェースを実装する」と言います。

一度インターフェースを定義すれば、どんなクラスでもそれを実装することができます。こうすることで、それぞれのクラスがわざわざほかのクラスのオブジェクトとコミュニケーションするための仕組みを持つ必要がなくなります。最新の医学や生物学を駆使して人間の言葉を理解できる犬や犬の言葉を理解できる人間を作らなくても、インターフェースを定義してそれを人間と犬に教えれば、犬と人間はコミュニケーションをとれるようになります。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2005年08月02日 17:40
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。