ゼロからわかるシリーズゼロからわかるオブジェクト指向超入門 

書籍の概要

この本の概要

本書は『ゼロからわかる』シリーズのオブジェクト指向の入門書です。入門者を対象にプログラミング技法の説明の前にオブジェクト指向の考え方の習得を重視します。身近な例でオブジェクト指向の考え方を解説した後,実際にJavaをベースにプログラミングに落とし込むことでオブジェクト指向の有効性など考え方を簡単に理解させることを目的とした書籍です。

こんな方におすすめ

  • オブジェクト指向が簡単に理解したい人
  • オブジェクト指向という言葉が苦手な人

この書籍に関連する記事があります!

オブジェクト指向の考え方~身近な例から考え方を理解する
Java,C#,Ruby,Python,Objective-C,Perl…近年一度は目にしたプログラミング言語ではないでしょうか? これらには共通点があります。

目次

第1章 オブジェクト指向って何?

  • 1-1 オブジェクト指向は自然な考え方
  • 1-1-1 オブジェクト指向は難しい?
  • 1-1-2 オブジェクト指向はどこからきた?
  • 1-2 オブジェクト指向の考え方
  • 1-2-1 プログラミング技術とモデリング技術の2つの側面
  • 1-2-2 世界をオブジェクトの集まりと捉える
  • 1-2-3 オブジェクト指向の何(what)となぜ(why)
  • 要点整理

第2章 オブジェクトって何?

  • 2-1 オブジェクトとは
  • 2-1-1 何でもオブジェクト
  • 2-1-2 オブジェクトは認識の対象
  • 2-2 オブジェクトの特徴
  • 2-2-1 オブジェクトは属性を持つ
  • 2-2-2 オブジェクト間の関連
  • 2-2-3 オブジェクトは状態を持つ
  • 2-2-4 オブジェクトは責務を持つ
  • 2-3 同じ種類のオブジェクトをクラスにまとめる
  • 2-3-1 クラスとは
  • 2-3-2 クラスとインスタンス
  • 2-3-3 固有名詞と普通名詞
  • 要点整理
  • 練習問題

第3章 オブジェクト指向言語って何?

  • 3-1 オブジェクト指向言語とは
  • 3-1-1 手続き型言語とオブジェクト指向言語
  • 3-1-2 JavaのHello World
  • 3-1-3 コマンドプロンプトで実行する
  • 3-1-4 オーバーロードとは
  • 3-2 3つの特徴
  • 3-2-1 オブジェクト指向プログラミング言語の特徴
  • 3-2-2 カプセル化
  • 3-2-3 継承
  • 3-2-4 多態性
  • 要点整理
  • 練習問題

第4章 UMLって何?

  • 4-1 プログラムを図で表現する
  • 4-1-1 従来の開発で使用されるダイアグラム
  • 4-1-2 オブジェクト指向開発のためのダイアグラム
  • 4-2 静的構造を表すクラス図
  • 4-2-1 クラスをUMLで表す
  • 4-2-2 オブジェクトをUMLで表す
  • 4-2-3 クラス図とオブジェクト図
  • 4-3 コラボレーションを表すシーケンス図
  • 4-3-1 シーケンス図でメッセージの流れを明確にする
  • 4-3-2 シーケンス図とクラス図の関係
  • 要点整理
  • 練習問題

第5章 クラスとインスタンス

  • 5-1 オブジェクトの元になるクラス
  • 5-1-1 変数と型
  • 5-1-2 クラスは鋳型
  • 5-1-3 クラスの設計図をUMLで記述する
  • 5-1-4 クラスをJavaで書く
  • 5-2 クラスを鋳型にしてインスタンスを生成する
  • 5-2-1 コンストラクタとは
  • 5-2-2 デフォルトコンストラクタ
  • 5-2-3 オブジェクトを使用するには
  • 5-2-4 サンプルプログラムで考える
  • 5-2-5 コンストラクタを記述する
  • 5-3 複数のコンストラクタ
  • 5-3-1 コンストラクタをオーバーロードする
  • 5-3-2 デフォルトコンストラクタの扱い
  • 5-3-3 Stringクラスは例外
  • 5-3-4 自身のインスタンスを指すthis
  • 5-5 クラススコープとは
  • 5-4-1 クラスがデータを持つ方法
  • 5-4-2 UMLで表すには
  • 5-4-3 クラススコープのプログラミング
  • 要点整理
  • 練習問題

第6章 カプセル化はオブジェクト指向の原点

  • 6-1 カプセル化とは
  • 6-1-1 カプセル化の考え方
  • 6-1-2 公開と非公開を指定する可視性
  • 6-2 データはアクセスメソッドでアクセスしよう
  • 6-2-1 アクセス修飾子とは
  • 6-2-2 カプセル化の方法
  • 6-2-3 アクセスメソッドとは
  • 6-2-4 カプセル化されたクラスを使用する
  • 6-2-5 カプセル化のメリット
  • 6-3 パッケージとは
  • 6-3-1 関係の強いクラスをひとまとめにする
  • 6-3-2 パッケージのプログラミング
  • 6-3-3 コマンドプロンプトの操作方法
  • 要点整理
  • 練習問題

第7章 クラス間の関連

  • 7-1 関連とは
  • 7-1-1 関連とリンク
  • 7-1-2 多重度
  • 7-2 関連のプログラミング
  • 7-2-1 1対1の関連
  • 7-2-2 配列
  • 7-2-3 1対多の関連
  • 7-3 顧客の連絡先を追加する
  • 7-3-1 顧客情報に連絡先を追加するには
  • 7-3-2 Javaで連絡先クラスを作る
  • 7-3-3 1対多のプログラミング
  • 要点整理
  • 練習問題

第8章 継承でクラスを再利用する

  • 8-1 クラスを分類する
  • 8-1-1 分類は部分集合
  • 8-1-2 汎化関係
  • 8-1-3 汎化と継承
  • 8-2 継承とは
  • 8-2-1 継承の仕組み
  • 8-2-2 継承と可視性
  • 8-2-3 継承のプログラミング方法
  • 8-2-4 継承とコンストラクタ
  • 8-2-5 super()
  • 8-3 継承で再利用する
  • 8-3-1 顧客にサブクラスを作る
  • 8-3-2 UMLモデルをJavaに落とす
  • 8-3-3 実行する
  • 8-3-4 連絡先を追加する
  • 要点整理
  • 練習問題

第9章 多態性ってどうやるの?

  • 9-1 抽象クラスと抽象操作
  • 9-1-1 多態性とは
  • 9-1-2 抽象クラス
  • 9-1-3 抽象操作
  • 9-2 オーバーライド
  • 9-2-1 オーバーライドの仕組み
  • 9-2-2 オーバーロードとオーバーライド
  • 9-2-3 抽象操作をオーバーライドする
  • 9-3 多態性のプログラミング
  • 9-3-1 顧客を抽象クラスにする
  • 9-3-2 多態性のプログラミング
  • 9-3-3 アップキャストとは
  • 9-3-4 ダウンキャストとは
  • 要点整理
  • 練習問題

第10章 インタフェースって何?

  • 10-1 インタフェースとは
  • 10-1-1 ものとものをつなぐ
  • 10-1-2 インタフェースと実装を分離する
  • 10-1-3 インタフェースをUMLで記述する
  • 10-1-4 インタフェースをJavaで記述する
  • 10-1-5 インタフェースを複数クラスで実現する
  • 10-2 インタフェースによる多態性
  • 10-2-1 UMLのモデル
  • 10-2-2 Javaプログラミング
  • 10-2-3 抽象クラスとインタフェースの違い
  • 10-3 顧客の連絡先を追加する
  • 10-3-1 継承を利用する
  • 10-3-2 Javaで実装する
  • 10-3-3 部品化する
  • 要点整理
  • 練習問題

著者プロフィール

河合昭男(かわいあきお)

大阪大学理学部数学科卒業,日本ユニシス株式会社にてメインフレームのOS保守,性能評価の後,PCのGUI系基本ソフト開発,クライアント/サーバシステム開発を通してオブジェクト指向に目覚める。
1998年独立後OO/UML関連の教育コース講師・教材開発,Rational University 認定講師,東京国際大学非常勤講師,UMTPにてUML普及活動を行う。
主な著書は,「ゼロからわかるUML超入門」(技術評論社),「JavaデベロッパーのためのUML入門」(監修,ソフトバンク),「明解UML-オブジェクト指向&モデリング入門」(共著,秀和システム)など。
(有)オブジェクトデザイン研究所:http://www.odl.co.jp/
「オブジェクト指向と哲学」:http://www1.u-netsurf.ne.jp/~Kawai