概要
書名通り,オブジェクト指向 (OOP) でなぜ開発するのかという疑問に答えるために解説されている。
大きく4部構成になっている。
- OOPが理解しにくい理由
- OOPの登場の経緯,仕組み,メモリー管理
- OOPを用いた周辺環境
- OOPによる設計
特に,「第3章 OOPを理解する近道はプログラミング言語の歴史にあり」,「第4章 OOPは無駄を省いて整理整頓するプログラミング技術」,「第5章 メモリの仕組みの理解はプログラマのたしなみ」がよかった。
従来の手続き型言語の問題点を指摘し,その問題をOOPでどのように解決しているのかという視点で,OOPの主要な要素を解説しており,わかりやすかった。
従来の手続き型言語では以下2点の問題があった。
- グローバル変数が必要
- 関数単位でしか再利用不可能
OOPでは,これらの問題をクラスを用いることで解決できるようになった。
また,メモリの仕組みもよかった。関数はクラスや親クラスで共通であったり,メンバー変数はインスタンスごとに個別などの解説があり,キャストしたときなどにどのクラスの関数・変数が使われるのかという点が理解しやすくなった。
このメモリ管理のところは,できることならもっと深く,体系的に勉強したいと感じた。
例えば,新人にOOPを説明することになった場合,この3章から4章の内容を踏まえて説明すればいいのではないかと思った。
章の末尾には,著者が参考にした書籍も紹介されており,今後の参考になる。
ただ,個人的には末尾の方のUMLや設計などの説明は不要だった。
設計の分野においてOOPを適用する場合,どうすればいいか,UMLで現実のプロセスを表現する場合はどうすればいいかなどあって,悪くはないのだが,OOPの理解を深めるうえでは余計に感じた。この点は,他の本で必要になったときに学べばいいかと思い,軽く読み流した。
結論
若手の教育を任される場合にOOPを解説するという視点に立ったときに,この本はわかりやすくてよかった。
他にもOOPの解説本はあったが,自分には今のところこの本の3-5章があっていた。
コメント