ホーム > 読んだ

Tucker!
憂鬱なプログラマのための
オブジェクト指向開発講座
C++ による実践的ソフトウェア構築入門

C++ を用いたオブジェクト指向設計/分析を包括的に解説した本で、手続き型言語である C からオブジェクト指向言語としての C++ へ移ったときに、そのオブジェクト指向言語としての開発手順とはどういったものなのかが非常に分かりやすく説明されている。加えて本書では初心者が C++ を理解する上でポイントとなる「C++ の文法をオブジェクト指向的に扱うとはどういうことなのか」という点での解説が随所に盛り込まれており、C++ の文法をオブジェクト指向の目的に沿って理解するという肝の部分でも非常に的確な内容となっている。

周知の通り、C++ は言語仕様だけでも巨大なため、えてして文法的な理解のみで満足しがちであるが、いうまでもなく、それだけで C++ を理解したこととはならない。特に手続き型からオブジェクト指向への発想の転換は中途半端では意味がない。私も最近は Java をやっている関係上、確かにオブジェクト指向の学習としては C++ よりも Java の方がいくつかの余計なこと(ポインタ etc..)に気を使わなくて済む分、オブジェクト指向の本質へ専念できる点で有利だとは思うし、実際にこの手の本では Java を用いた書籍の方が優勢だと思う。しかしながら、逆にいえば C++ という難物を一人前に理解できれば Java が恐くなくなるのも事実である。

やはり C++ という言語にはそれだけのパワー、いい意味でも悪い意味でも奥行きがある。(結局のところ、私自身も C++ の深淵にはほとんど触れぬまま Java に手をつけてしまったのだが...)そんなわけで、本書は C++ 文法の理解?オブジェクト指向の理解という中間点において、特にそれを C++ で学習したい場合には強く薦められる本である。

# 大昔にベース部分を書いたまま読書ノート化の止まっていた本でもあります :-)

抄録

5/54

オブジェクト指向システム分析(OOA) -> オブジェクト指向システム設計(OOD) -> オブジェクト指向プログラミング(OOP)――という流れ。プログラミング以上に分析/設計の段階の重みが大きい。オブジェクト指向とは分析/設計概念といいきることもできなくはない。

11/12

クラスは一種の「型」であるから、それを宣言することで実体(オブジェクト/インスタンス)が生成される。クラスはユーザが定義できる「型」である。クラスは構造体を拡張したもので、メンバに関数まで持ったもの。

15

事物の本質をどう見抜くかがクラスの設計(プログラマのセンス)において重要となる。