本書は、初めてプログラミングを体験するという方に向けた入門書の第3巻です。 みなさんが学んできたプログラミングの基本をもとに、Rubyのオブジェクト指向プログラミングをやさしく解説します。
オブジェクト指向と聞くと難しそうですが、心配はいりません。クラスの定義はもちろん、「カプセル化」「継承」「ポリモーフィズム」といったオブジェクト指向の基礎となる考え方からしっかりわかります。
そのほか、デザインパターンやプログラムのテスト、フレームワークの作り方など、これから本格的なプログラムを作るのに知っておきたい必須知識も、たくさんのサンプルプログラムで学習。Rubyを柔軟でパワフルな言語としているメタプログラミング機能にも触れます。
各章に小問題や章末の練習問題があり、自分ひとりでプログラムを作る力が身についたことを確認できます。また、Rubyプログラムを実行する環境も、付属のCD-ROMで簡単に用意することができます。
本書を片手に、プログラミングの新たなステップを踏み出してみましょう。
●付属CD-ROMのご案内
本書の付属CD-ROMには、実習に使用するRubyプログラムの実行環境を構築するためのインストーラパッケージや、本文で作成したサンプルプログラムなどが収録されています。
第1章 古典的なオブジェクト指向プログラミング
1-1 クラスの定義
手続き型からオブジェクト指向へ
クラスの役割と考え方
initializeメソッドとインスタンス変数
属性とアクセサメソッド
値オブジェクト
1-2 メソッドの作成
オブジェクト指向プログラミングの考え方
メソッドの設計
クラス定数・述語メソッド・self
メソッドのアクセス制御
まとめ
練習問題
第2章 継承とポリモーフィズム
2-1 クラスの継承
より進んだカプセル化
オブジェクトの区別は残った
クラスの継承
基底クラスのメソッドの利用
2-2 ポリモーフィズム
ポリモーフィズムとは
継承の問題点とダックタイピング
まとめ
練習問題
第3章 デザインパターン(1)
3-1 継承とテンプレートメソッドパターン
基本的な論理素子
論理素子のシュミレータを作る
継承によって重複を取り除く
テンプレートメソッドパターン
エラー処理を追加する
足し算を行う回路
3-2 オブザーバパターン
端子クラスの導入
yield制御構造
オブザーバパターン
Terminalクラスを使った回路の実装
クラスの責務と分割
論理素子の名前を保持する
新しい半加算器の実装
3-3 コンポジットパターン
全加算器の作成
3ビット加算器の作成
まとめ
練習問題
第4章 デザインパターン(2)
4-1 事象をオブジェクトとして扱う
論理素子の延長
イベント
テスターの作成
4-2 処理をオブジェクトとして扱う
コマンドパターン
順序付きリストとは
コマンドに大小関係を定義する
順序付きリストの実装
動的回路シュミレータ
4-3 ライブラリ化
ライブラリ化と名前空間
ファクトリパターン
共通部分の抜き出しとエラー処理
まとめ
練習問題
第5章 アプリケーションとフレームワーク
5-1 簡単なWebサーバーのプログラミング
ソケットの利用
HTTPリクエストの内容
HTTPレスポンスの内容
Webサーバーの仕組み
5-2 フレームワークの開発
オブジェクト指向プログラミングとフレームワーク
フレームワークの作成
クラス・モジュール自身のメソッド
まとめ
練習問題
第6章 ユニットテストとテスト駆動開発
6-1 ユニットテスト
ユニットテストプログラムとは
機能検証の方法
テスティングフレームワークの利用
6-2 テスト駆動開発
テストファーストとテスト駆動開発
テスト駆動開発の準備
テスト駆動開発の実践
リファクタリング
まとめ
練習問題
第7章 メタプログラミング
7-1 動的プログラミング
メタプログラミングと動的プログラミング
静的なプログラムで動的な処理を実現する
動的なプログラミングで動的な処理を行う
7-2 リフレクションの利用
リフレクションとは
オブジェクトの情報を操作する
Object・Module・Class
まとめ
練習問題
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 012~013 p.12 一番下の行~p.13 先頭行 |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 013 上から3行目 |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 023 下から3行目 |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 027 「COLUMN」の8行目 |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 027 「COLUMN」の12行目 |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 075 リスト3-2の2行目 |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 095~142 第3章リスト3-17以降、ならびに第4章のputs関数を含むリスト |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 105 リスト3-27 stage05/not.rb |
未 | 未 |
|
2010.05.28 | ||||||
1刷 | 106 リスト3-28 |
未 | 未 |
|
2010.05.28 | ||||||
1刷 | 106 リスト3-29 |
未 | 未 |
|
2010.05.28 | ||||||
1刷 | 106 リスト3-30 |
未 | 未 |
|
2010.05.28 | ||||||
1刷 | 113 リスト3-36の3行目 |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 116 練習問題 3.1 |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 117 リスト3-37の実行結果 |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 266 (2) stage02/and.rb |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 266 (2) stage02/xor.rb |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 266 (3) stage04/and.rb |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 266 (3) stage04/and.rbの8行目 |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 267 (3) stage04/xor.rb |
未 | 未 |
|
2012.05.25 | ||||||
1刷 | 267 練習問題 3.1) xor.rbの11行目 |
未 | 未 |
|
2012.05.25 |
baboocon さん
2016-06-09
超速読で読了。このシリーズはソースコードが独特ながら充実しているのがいいですね。入門書でテストにも触れられているのは少ないかも?
ひじき さん
2015-01-31
オブジェクト指向を集中的に学ぶ本ではなく、オブジェクト指向に関係する様々なプログラミングスキルを向上させるための本だと思った。 特にテストに関する章は役立った。
parkplace さん
2013-06-07
後半はわからないところもあったが、ユニットテストなどアマチュアではわからないところも解説していて好感が持てた