いちばんやさしい オブジェクト指向の本 (技評SE新書 007)
- 技術評論社 (2007年1月19日発売)
- Amazon.co.jp ・本 (208ページ)
- / ISBN・EAN: 9784774130156
作品紹介・あらすじ
オブジェクト指向はなぜ難解なのか。わかったつもりになっても、実はよくわからないのはなぜか。その理由は、オブジェクト指向の持つ"二面性"にある。「理解」と「創造」の二面性を理解することで、いままで難しいと思っていたオブジェクト指向が、驚くほど簡単にわかるようになる。豊富な具体例を用いてわかりやすく解説する、いちばんやさしいオブジェクト指向入門の決定版。
感想・レビュー・書評
-
本当にわかりやすい!
ようやくJavaで学んだクラス、メソッドの違いとか、ポリフォリズム、継承の意味がわかった気がする。
さて、これが実践でも考えられるか…
それはこれからの自分のがんばり次第だな。詳細をみるコメント0件をすべて表示 -
現実のケーキ屋のケーキや店員などをオブジェクトをとらえて、オブジェクト指向について解説した本。
書いてあることは難しくないのだけど、これを読んだからと言ってオブジェクト指向でプログラミング開発できるようになるとは思えなかった。
ちょっとよく分からなかったのが属性と状態について。どちらも変数だとは思うのだけど、いまいちどういう違いがあるか分からなかった。属性はコンストラクタで指定するだけとかなのだろうか。
それと、オブジェクト指向はすべてを表現できるわけではないという話の中で、「中心点から等距離の集合が円である」というのは表現できるけど、「円の面積=円周率×半径の二乗」は表現できないとあってよく分からなかった。これって、実際のソースコードではどう書けばいいのだろう。 -
プログラミングの進化の歴史を紐解くと、なぜオブジェクト指向が必要なのか見えてくる
●感想
会社のコードのレガシーコードが気になるようになってきた今日この頃。しかし、しなやかにリファクタリングをするためには「オブジェクト指向」らしい設計・コーディングの理想の形が入っていないといけない。本書は、そんな「オブジェクト指向ってどういうこと何だろう」と気になり始めた人には、とても良い本だ。オブジェクト指向の思想を現実世界を用いて解説してくれる。さらに、プログラミングの歴史を追って、論理的になぜオブジェクト指向が登場したのかも解説してくれる。少々文量は少ないが、「オブジェクト指向らしいエレガントなコーディングの仕方」というのも。新書らしく、オブジェクト指向を学ぶたたき台を作るには最適な書だと思う。
●本書を読みながら気になったこと
*オブジェクト指向の本質は二つだけ
・適用する対象(プログラムで表現したい現実の事象)を、オブジェクトの集まりとして捉える
・適用対象がもつ全てのストーリーを、そのオブジェクト間でのやりとりに置き換える
・現実世界の情報をプログラムで再現できるのが「オブジェクト指向」の本髄
*マクロとサブルーチンの違い
・マクロは、ある一連のプログラムに名前をつけて、その名前を使ってプログラムを組めるようにしたものです
・サブルーチンも、マクロと同じく一連のプログラムに対して名前をつけたものなのですが、サブルーチンの場合はプログラムを置き換えるのではなく、離れた場所においてあるプログラムを実行し、終わったら戻ってくるという動きをする
*型をつけるというデータ抽象化の威力
・アセンブリ言語の時代は型が無く、データは単なる16進数の数字の羅列だった
・型の登場により、プログラマーがデータの種類をプログラム内で明示的に指定できるようになったので、プログラムは理解しやすくなった。日付を入れるべきとこに、数値を入れてしまうような誤りをコンピュータ側で検知できるようになった
*モジュールを型にする
・モジュール化に体操したプログラミング言語では、モジュールの実体sのものを定義していました。そのため、同じ構造のモジュールであろうとなかろうと、モジュールが必要なら、必要な数だけモジュールの定義をしなければなりませんでした。 → これに対して、オブジェクト指向では、モジュールの定義と実体の定義は別々になります
*オブジェクト指向らしいコーディング
・継承を使って差分プログラミングをする
・ポリモーフィズムによって実行可能なメソッド・処理に幅を持たせる
*オブジェクト指向を理解するのには3年はかかる
●学んだことをどうアクションに生かす
・オブジェクト指向のデザインパターンの学習
→特に継承、ポリモーフィズム -
オブジェクト指向にいたる歴史のところが参考になった。
「機能分割」と「モジュール化」というアプローチだけでは、なぜ困難が生じたかというのがわかりやすかった。 -
20150208 いちばんやさしいのだと思いますが、あとがきに有るようにこれまでの経験が長いほど理解に時間がかかるという方に納得。あきらめずに再読するかな。
-
オブジェクト指向そのものをうまく理解できる様に説明するのは難しい。
いちばんやさしいは合っているかも知れないが、理解できるかどうかは別物。
著者の気持ちは分かるのだけれど・・・ -
オブジェクト指向とは?
→オブジェクト指向の本質は、
1.適用する対象をオブジェクトの集まりとして捉える
2.適用対象が持つすべてのストーリーをそのオブジェクトの間でのやり取りに置き換える
抽象化とソフトウェアの分割技術進化 -
2
-
オブジェクト指向が、なんとなくしか理解できていない自分に初めてピタッとはまった一冊だった。
ただし、開発経験なしで理解するのは、流石に厳しい内容。 -
もうプログラムをバリバリ書く、という機会はあまりないのですが、
むしろプログラマ以外の立場で、物事を整理・組み立てるための助けになるのでは、という視点で読んでみました。実際に、そういう視点がある本だと思います。
そして我が仕事や人生を置き換えて考えてみると、日々スパゲッティ的なことの連続であるなあと痛感します。
プログラマじゃないとわかりにくい点も若干あるのですが、オブジェクト指向とUMLは、業務の整理にもなるし伝えやすくなるはず、と思ってたまにこういう読書もします(で、よく振り出しに戻るのだけど)。