『オブジェクト指向でなぜつくるのか』

オブジェクト指向でなぜつくるのか 第2版

オブジェクト指向でなぜつくるのか 第2版

学んだことメモ。

  • プログラミング技術としてのオブジェクト指向(OPP)と、そこからの類推により現実世界に適用されるオブジェクト指向(汎用的な整理術)の区別をしつこいほどにしており、オブジェクト指向という概念を整理できた。
  • オブジェクトの根本的な意義の1つは「変数とサブルーチンをまとめて、隠す」こと。
  • ポリモーフィズムのイメージをつかんだ。「サブルーチンを呼び出す側のロジックを一本化する仕組み」。そこから実際に呼び出されるサブルーチンはサブクラスによって異なり、多相的(=polymophic)である。
  • 静的領域、ヒープ領域及びスタック領域の区別と、それぞれの役割。
  • UMLに対して、「それがプログラムを表現しているのか/現実世界を表現しているのか」という視点を得ることができた。また、UMLにはオブジェクト指向のためのものと、そうでないものが混在していることが分かった。
  • 関数型関数の概要と特徴。部分適用、カリー化、パターンマッチング、多相性と型推論の連携。