オブジェクト指向入門 第2版 原則・コンセプト(Bertrand Meyer 酒匂 寛 酒匂 寛)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. オブジェクト指向入門 第2版 原則・コンセプト

オブジェクト指向入門 第2版 原則・コンセプト


翻訳
原著

形式:
書籍
発売日:
ISBN:
9784798111117
定価:
7,920(本体7,200円+税10%)
仕様:
A5・960ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発

オブジェクト指向のすべてがこの中にある!!
時代が変わっても役立つ記述が満載、いつでも問題解決に際して頼れる定本!

初版が1990年にアスキーより『オブジェクト指向入門』として翻訳出版、オブジェクト指向を深く学ぶための古典的名著として認知されています。第2版は、内容も全面的に構築し直しソフトウェア開発に必要なエッセンスが多く盛り込まれています。主に数多くのデザインパターンや実装技法、希少な存在である手法上の詳細な探求、継承をうまく使うためにはどのようにしたらよいのか、それ以外にもオブジェクト指向方法論、オブジェクト指向分析に関する話題に多く触れられ、オブジェクト指向開発環境に関しての豊富な記述が満載です。

画像01

パートA 諸問題

第1章 ソフトウェアの品質
1.1 外的品質要因と内的品質要因
1.2 外的品質要因
1.3 ソフトウェアの保守について
1.4 本章のまとめ
1.5 参考文献

第2章 オブジェクト指向の基準
2.1 基準について
2.2 方法論と言語
2.3 実装と環境
2.4 ライブラリ
2.5 もっと詳しい予告編
2.6 参考文献とオブジェクトのリソース

パートB オブジェクト指向への道

第3章 モジュール性
3.1 5つの基準
3.2 5つの規則
3.3 5つの原則
3.4 本章のまとめ
3.5 参考文献
3.6 演習問題

第4章 再利用性へのアプローチ
4.1 再利用性の目標
4.2 何を再利用すべきか?
4.3 ソフトウェア開発における繰り返し
4.4 「非」技術的障害
4.5 技術的な問題
4.6 モジュール構造の5つの要件
4.7 伝統的なモジュール構造
4.8 多重定義と総称性
4.9 本章のまとめ
4.10 参考文献

第5章 オブジェクト技術への道
5.1 コンピュータ処理の中身
5.2 機能による分解
5.3 オブジェクトによる分解
5.4 オブジェクト指向によるソフトウェア構築
5.5 課題
5.6 本章のまとめ
5.7 参考文献

第6章 抽象データ型
6.1 基準
6.2 実装のバリエーション
6.3 オブジェクトを抽象的に見るには
6.4 仕様記述を形式化する
6.5 抽象データ型からクラスへ
6.6 ソフトウェアを越えて
6.7 補助的な話題
6.8 本章のまとめ
6.9 参考文献
6.10 演習問題

パートC オブジェクト指向の技法

第7章 静的な構造:クラス
7.1 オブジェクトは主体ではない
7.2 ありがちな混乱を避けるために
7.3 クラスの役割
7.4 一様な型体系
7.5 単純なクラス
7.6 基本的な構文規約
7.7 オブジェクト指向的なスタイル
7.8 選択的エクスポートと情報隠蔽
7.9 すべてを1つにする
7.10 検討
7.11 本章のまとめ
7.12 参考文献
7.13 演習問題

第8章 実行時の構造:オブジェクト
8.1 オブジェクト
8.2 モデリングツールとしてのオブジェクト
8.3 オブジェクトと参照を操作する
8.4 生成プロシージャ
8.5 さらに参照について
8.6 参照に対する操作
8.7 複合オブジェクトと拡張型
8.8 アタッチメント:参照と値の意味
8.9 参照を扱うということ:利点と危険
8.10 検討
8.11 本章のまとめ
8.12 参考文献
8.13 演習問題

第9章 メモリ管理
9.1 オブジェクトに何が起きるのか
9.2 呑気なアプローチ
9.3 メモリの回収に関する諸問題
9.4 プログラマ制御による開放(デアロケーション)
9.5 部品レベルのアプローチ
9.6 自動領域管理
9.7 参照カウント
9.8 ガーベジコレクション
9.9 ガーベジコレクションの実用上の諸問題
9.10 領域管理を備えた環境
9.11 本章のまとめ
9.12 参考文献
9.13 演習問題

第10章 総称性
10.1 水平方向と垂直方向の型の汎化
10.2 型のパラメータ化の必要性
10.3 総称クラス
10.4 配列
10.5 総称性のコスト
10.6 議論:これで終わりではない
10.7 本章のまとめ
10.8 参考文献
10.9 演習問題

第11章 契約による設計:信頼性の高いソフトウェアを構築する
11.1 基本的な信頼性のメカニズム
11.2 ソフトウェアの正しさについて
11.3 仕様を書く
11.4 ソフトウェアテキストに表明を導入する
11.5 事前条件と事後条件
11.6 ソフトウェア信頼性のための契約
11.7 表明を用いた作業
11.8 クラス不変表明
11.9 クラスが正しいのはいつか?
11.10 ADTとの関係
11.11 表明命令
11.12 ループ不変表明と変化表明
11.13 表明を使う
11.14 検討
11.15 本章のまとめ
11.16 参考文献
11.17 演習問題

第12章 契約が破られるとき:例外処理
12.1 例外処理の基本概念
12.2 例外処理
12.3 例外メカニズム
12.4 例外処理例
12.5 rescue句の仕事
12.6 高度な例外処理
12.7 検討
12.8 本章のまとめ
12.9 参考文献
12.10 演習問題

第13章 支援メカニズム
13.1 非オブジェクト指向ソフトウェアへのインタフェース
13.2 引数渡し
13.3 命令
13.4 式
13.5 文字列
13.6 入出力
13.7 識別子に関する語彙的慣例
13.8 本章のまとめ
13.9 演習問題

第14章 継承入門
14.1 多角形と長方形
14.2 多相性
14.3 継承のための型付け
14.4 動的束縛
14.5 暫定特性と暫定クラス
14.6 再宣言の方法
14.7 継承の意味
14.8 暫定クラスの役割
14.9 検討
14.10 本章のまとめ
14.11 参考文献
14.12 演習問題

第15章 多重継承
15.1 多重継承の例
15.2 特性の改名
15.3 構造をフラットにする
15.4 反復継承
15.5 検討
15.6 本章のまとめ
15.7 参考文献
15.8 演習問題

第16章 継承のテクニック
16.1 継承と表明
16.2 グローバルな継承構造
16.3 凍結型特性
16.4 制約付き総称性
16.5 試行代入
16.6 型付けと再宣言
16.7 アンカー宣言
16.8 継承と情報隠蔽
16.9 本章のまとめ
16.10 参考文献
16.11 演習問題

第17章 型付け
17.1 型付けの問題
17.2 静的型付け:「なぜ」と「どうして」
17.3 共変性と子孫隠蔽
17.4 システム妥当性への最初のアプローチ
17.5 アンカー型に任せる
17.6 グローバル分析
17.7 多相的catcallに気づく
17.8 評価
17.9 完全な適合
17.10 本章のまとめ
17.11 参考文献

第18章 グローバルオブジェクトとグローバル定数
18.1 基本型の定数
18.2 定数の利用
18.3 クラス型定数
18.4 onceルーチンの応用
18.5 文字列型定数
18.6 ユニーク値
18.7 検討
18.8 本章のまとめ
18.9 参考文献
18.10 演習問題

オブジェクト技術用語集

参考文献

E.1 筆者以外の人の著作
E.2 筆者の著作

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2018年04月20日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 005
本文7行目
3刷
照らしみたプログラムの正確さ
照らしみたプログラムの正確さ
2009.12.11
1刷 007
「1.2.3 拡張性」の2行上
3刷
実行をきれいに終了させる、いわゆる
実行をきれいに終了させたり、またはいわゆる
2009.11.10
1刷 113
表4.1 「ファイル」列、「found (x)」行
5刷
fˆ↑= x
f↑= x
2018.04.19
1刷 160
図6.1 2つ目の「プッシュ」操作
3刷
free:=freeñ1
free:=free-1
2009.11.26
1刷 293
図8.8の下部(TYPE1)下から2つ目
5刷
ñ62
-62
2018.04.19
1刷 305
上から20行目・21行目
5刷
create my_pointmake_cartesian (0, 1) create my_pointmake_polar (1, Pi/2)
create my_point.make_cartesian (0, 1) create my_point.make_polar (1, Pi/2)
2018.04.19
1刷 415
上から17行目
5刷
itemmy_account.withdraw (5000)
my_account.withdraw (5000)
2018.04.19
1刷 421
上から12行目
5刷
(Cある総称クラスであり、
(Cある総称クラスであり、
2018.04.20
1刷 455
下から9行目
5刷
n <= 0 ということは、
n >= 0 ということは、
2018.04.20
1刷 465
上から6行目
3刷
if empty then
error := Overflow
else
if empty then
error := Underflow
else
2008.02.13
1刷 483
図11.7
5刷
ñ133
133

図中3箇所
2018.04.20
1刷 483
図11.7
3刷
上図:具象スタックオブジェクト群 下図:抽象スタックオブジェクト
上図:抽象スタックオブジェクト 下図:具象スタックオブジェクト群
2008.02.18
1刷 484
10行目
5刷
抽象スタッを
抽象スタックを
2018.02.01
1刷 486
下から5行目
4刷
nots.empty than ...
not s.empty then ...

「not」と「s」の間に半角スペースを追加
2015.11.02
1刷 486
数式の下2~3行目
3刷
その仮定を支持する理由(「_ _なぜらばxは...」)を、
その仮定を支持する理由(「_ _なぜらばxは...」)を、
2010.01.05
1刷 487
上から2行目
3刷
if /= Void then...
if x /= Void then...
2008.02.19
1刷 487
下から7行目
3刷
性質が保持されていると
性質が保持されていると
2008.02.19
1刷 490
4行目
3刷
配列 t で i 番目の要素を
配列 t で m 番目の要素を
2008.02.19
1刷 490
コード 下から5行目
3刷
until i := t.upper loop
until i = t.upper loop

=の前の「:」(コロン)を削除します。
2008.02.19
1刷 495
コード 下から7行目
3刷
variant
t.lower -i
variant
t.upper -i
2008.02.22
1刷 503
上から11行目
3刷
check命令を事項する。
check命令を実行する。
2008.02.26
1刷 504
上から5行目
3刷
not_too_small: x <= Minimum_value
not_too_small: x >= Minimum_value
2008.02.26
1刷 542
上から4行目
3刷
        else
integer_was_read := False
attempts := attempts + 1
end
rescue
retry
end
        else
integer_was_read := False
end
rescue
attempts := attempts + 1
retry
end
2008.03.07
1刷 549
「12.5.2」の4行目、7行目(2か所)
3刷
resucue句
rescue句
2008.03.11
1刷 558
上から3行目
3刷
あるでなはいか
あるではないか
2008.03.14
1刷 566
「・Mathライブラリ」 2行目
3刷
確立
2008.03.25
1刷 595
本文 上から2行目
3刷
自分の全子孫の不変表明句を
自分の全祖先の不変表明句を
2008.03.25
1刷 612
1行目
3刷
基本クラスのcreation句に、
基本クラスのcreation句に、
2008.04.02
1刷 621
「14.5.5 図形上の慣習」の5行目
3刷
--図14.10のOPEN_FIGUREのレベル
--図14.10のCLOSED_FIGUREのレベル
2008.04.02
1刷 625
2行目
3刷
beforeの事後条件はensure Result = (index - 1)
beforeの事後条件はensure Result = (index = 0)
2008.04.04
1刷 638
上から8行目
5刷
親(paren)
親(parent
2018.04.20
1刷 638
2行目
3刷
すなわち、すなわち、適用すべき
すなわち、適用すべき
2008.04.14
1刷 641
14.8.2 タイトル末尾
3刷
振る舞いラスの概念
振る舞いラスの概念
2008.04.14
1刷 641
図14.15のARRAY_TABLE、LINKED_TABLE、FILE_TABLEの特性
3刷
after*
forth*
item*
start+
after*
forth*
item*
start+

いずれも有効特性となります。
2008.04.14
1刷 643
下から8行目
3刷
特定の構文が構文された後に
特定の構文が解析された後に
2008.04.14
1刷 644
5行目
3刷
親の暫定クラスすべてを、
祖先の暫定特性すべてを、
2008.04.14
1刷 645
14.8.5 3行目
3刷
実装関する詳細を
実装関する詳細を
2008.04.14
1刷 650
1行目からのコード内 5行目
3刷
x ;=a; y := b + c +1; x := x * y;p2
x :=a; y := b + c +1; x := x * y;

「x * y」を「x * y」に訂正し、行末の「p2」を削除します。
2008.04.16
1刷 654
図14.16内の説明文
3刷
…そして、rB は B の不変表明を満たす... …そして、rB B の不変表明を満た...
…そして、rB は B の不変表明を満たす... …rA には B の不変表明を満たさなければならない義務はない!...
2008.04.16
1刷 755
16.5.1 ●特性呼び出し規則
3刷
特性 f を含むかエクスポートしている場合にのみ、
特性 f を含み、かつそれをエクスポートしている場合にのみ、
2010.01.26
1刷 xliii
目次 14.8.2
3刷
振る舞いクラスの概念
振る舞いクラスの概念
2013.07.08

感想・レビュー

Kota Mizushima さん

第二版に比べると、よりGeneralな話題を扱うようになって、書籍としての価値も上がった…と思うのだけど、あまり読んでる人見かけないな…。メイヤーの独特の語り口とか含めて大好きなんだけど。

紙魚 さん

この内容で入門を名乗るのがすごい 少なくともコード読んでその良し悪しが多少なりとも分かる人じゃないと、本の中で○○してはならないと書かれている理由などが理解できないのではないかと思う 複数人で勉強会する際の題材にするのにも向いた本

glass-_-onion さん

面白かった。