オブジェクト指向プログラミングの学習の仕方として、何を作るかよりどうやって使うかから始めた方がよさそうな気がしたのでメモ

思いつきエントリはタイトルが長くなりがちだけど。

Javaの入門書とかパラパラとみるけど、メソッドをどう作るかとかクラス設計をどうすべきかとかなんてもうどうでもよくて、たとえばStringクラスを使って、オブジェクト指向を使う側にどういうメリットがあるのかっていうのを理解した上で、では使いやすいクラスはどうやったら作れるのかとか、インタフェースはどうやって定義したらいいのかとかを考えていく方がいいような気がする。

TDDとか、「どうやって使う」駆動とも言えるよね。

まぁその入門書は、

  • 「状態によって動作を変えるオブジェクト」を実現するために多態がありますとか
  • アクセス修飾子は「セキュリティのため」とか
  • オブザーバパターンを使うためにインタフェースがありますとか

とか、やっぱり色々嘘が入ってるので、興味深く読んだんだけれども。こういうのがあるから混乱するんだよなー。1.3の時代の本。

暇な人は、上記の「嘘」について考えてみてください。