Skip to content

Instantly share code, notes, and snippets.

@shiracamus
Created April 13, 2018 00:12
Show Gist options
  • Save shiracamus/b05c21a3dcebc69f6120d155db053f25 to your computer and use it in GitHub Desktop.
Save shiracamus/b05c21a3dcebc69f6120d155db053f25 to your computer and use it in GitHub Desktop.
> インタフェースとは後から使うものを先に簡単に作っておいて、それを後でimplementで呼び出して使うものだと自分は認識しました。
API はご存知ですか? Application Programming Interface.
プログラムの仕様。プログラム同士を接続するための仕様。
使う人も作る人もインタフェースに合わせて作る。
クラスが違ってもインタフェースが同じなら接続して使える。
プログラムを作る前にまずインタフェースを定義しましょう。
ハードウェアも同じインタフェース同士なら接続できます。
USB、LAN、RS232C、HDMI、etc.
ハードディスクとかマウスとか違うクラスに同じUSBインタフェースが付いてて、PCから使うことができます。
ハードディスクやマウスは様々な部品で構成された装置、インタフェースは接続口。人と繋がる(人が操作する)インタフェースもあります。
人だって、外の世界(社会)と繋がる顔・側面・役割(インタフェース)をいろいろ持ってます。
子供、親、夫、妻、生徒、社員、社長、係、係長、部員、部長、会員、会長、委員、幹事などなど。
クラスは本体・実装、縦の関係。インタフェースは仕様・役割、横の関係。みたいな。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment