【Unity】C#のインターフェース機能について
インターフェース機能について勉強したので備忘録的な感じでまとめたいと思います。
特にスクリプトを作ったわけではないので他の誰かが記事にされているもので詳しくは説明ということで概念的なことで行きたいと思います。
今後自分でスクリプトを作成したら差し替えますね。
まずインターフェース機能があるとどんな良いことがあるかを例を使って説明したいと思います。
メリットはずばり汎用性です!
あなたがSHARP製のテレビの4チャンネルにリモコン変えたいという場合で説明したいと思います。
登場人物は
・あなた
・SHARP製リモコン
だとします。それぞれの動き関数として記述すると通常だと
あなた
・SHARP製リモコンの4を押す
SHARP製リモコン
・4が押されたらSHARP製テレビに4にしろと命令する
まぁ別にこれはこれでいいのですが仮にあなたがSONY製に買い換えたとします。
するとあなたには4chにしたいときにはSHARP製のリモコンの4を押すことしか知らないのでSONY製のチャンネルを変えることはできません。
したがってSHARP製リモコンの4を押すという関数をSONY製リモコンの4を押すという関数に変えなければならないですよね。
また長期旅行とかにいってホテルを転々としていたとしたらいろんなメーカーテレビがあるので各メーカのリモコンの4を押すという関数をたくさん作らないといけませんよね。それってめんどくさいですよね。
そこでインターフェースという機能が役に立ちます。
インターフェースを使うとあなたの関数はリモコンの4を押すということだけをします。どこ製でもいいのでリモコンの4を押すそれだけをします。
するとどうでしょう?どこ製であっても関数を変えずに4chに変えることができます。
つまり汎用性が増すということにつながります。
わかりにくかったらすいません、でもこういうことだと思ってます。
詳しいことや、実装の仕方に関しては説明しませんが、どういうメリットがあるかがわかってもらえたらうれしいです。
記事で言うとここらへんが見るとわかりやすいです。
下の記事のほうはUnityでのスクリプト付きで解説しててわかりやすいですよ。