先日、リアルでインターフェイスって何?、と聞かれました。
もちろん、僕が普段使用している C# に関する会話をしていた時のことです。
相手は全くの素人さんです。
そこで、以下のように簡単に説明しました。
インターフェイス
っていうのは、例えば、DVD や CD、ビデオなどのプレイヤーのスイッチのことですよ。
これらの殆どの製品は、メーカーや品種を問わず、再生・停止・早送り・巻戻しボタンがありますよね?
例えば、これら4つのボタンをインターフェイスって呼びますし、また、家電製品全般で電源投入・電源切断ボタンもありますが、これもインターフェイスです。
僕が良く使っている C# というプログラミング言語では、これらの家電製品のように、自作したクラスという単位のプログラムに、別のところで定義したインターフェースを複数実装することができるんです。
共通のインターフェイスを使えば、利用する人は、そのインターフェイスに関する予備知識に準じて直観的に取り扱うことができますよね?
もちろん、プログラミングにしても、家電製品にしても。
ここまで説明して「とてもわかりやすい説明だ」と、深く納得してもらえました。
そこで、調子に乗って、更にこう付け加えました。
更に、プログラミングの世界では、例えば、そのインターフェイスを実装したものをまとめて処理できるんです。
これは、とても便利ですよ。
例えば、何十台のプレイヤーを一か所に集めて、まとめて再生ボタン押すこともできるんです。
便利でしょう?
すると一言、こう言われました。
「・・・そんなこと、普通やらないよね。」
最後の説明に失敗したようです。orz