Javaのオブジェクト指向がゼッタイにわかる本[第2版]

概 要

本書は、Java初心者がつまづきやすい「オブジェクト指向」の考え方と使い方を徹底的にやさしく解説した入門書です。初心者がつまづきやすい点をひとつひとつフォローしつつ、段階的に学べるので、どこで自分がつまづいたのかがわかります。また、抽象的な概念を視角的に理解できる学習シートや、導入のしやすさで定評のある開発環境『Pleiades All in One』を使って実地に学ぶので、Javaのオブジェクト指向がゼッタイにわかります!

著者 立山秀利
価格 本体2300円(税別)
ISBN 978-4-7980-5048-5
発売日 2017/3/15
判型 B5変
ページ数 332
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第1章 今なぜ、Javaのオブジェクト指向なのか?

1-1 オブジェクト指向が求められる背景

こうしてオブジェクト指向は主流となった

オブジェクト指向は万能ではない!?

1-2 オブジェクト指向って何がいいの?

オブジェクト指向って何がウレシイの!?

1-3 そもそもJavaを使うワケは?

オブジェクト指向プログラミング言語の代表

オブジェクト指向以外のJavaのメリット

Javaで陥りがちなワナ

1-4 オブジェクト指向は難しい!?

オブジェクト指向のどこがわかりにくい?

本書の大まかな流れ

1-5 Javaの開発環境を準備しよう

まずは準備!

EclipseのJava開発環境をまとめてインストール

EclipseでJavaプロジェクトを作成しておこう

EclipseでJavaのコードを記述する方法

EclipseでのJavaの実行手順

1-6 学習シートについて

学習シートとは?

学習シートの使い方

サンプルソースの使い方

第2章 オブジェクト指向プログラミングの正体に迫る

2-1 「オブジェクト指向プログラミング」ってよく聞くけど、何なの?

そもそも「プログラミング」とは?

「オブジェクト指向プログラミング」とは?

でっ結局、オブジェクトの正体は何なの?

2-2 オブジェクト同士のメッセージのやり取りって?

えっ、オブジェクト同士が会話するの?

でっ結局、メッセージの正体って具体的に何なの?

実際のソースコードはどうなる?

オブジェクト指向プログラミングの正体をいったん整理

2-3 結局、オブジェクト指向プログラミングって何がいいの?

3つのメリットはなぜ得られるのか

やりたいことをプログラム化しやすいのはなぜ?

どうして再利用性が高いの?

どうして追加や変更に強いの?

2-4 まずは“柱”となる4つの要素をおさえよう

第3章 設計図を描いて、モノを作って使うクラスとインスタンス

3-1 何をどうオブジェクト化すればいいの?

概念から実践へ

オブジェクトはどうなる?

とりあえず名詞を抜き出してみる

同様に動詞を抜き出してみる

メッセージのやりとりはどうなる?

3-2 何はともあれオブジェクトの設計図を描くクラス

クラスとは

Javaではクラスはこう記述する

3-3 クラスの中身はフィールドとメソッドの2つだけ

「状態や属性」を表すフィールド

メソッドとは「振る舞い」

フィールド&メソッドとメッセージの関係

3-4 使うには、設計図からモノを作らないとダメインスタンス

インスタンスとは

インスタンスを生成するには

生成したインスタンスを使うJavaプログラミングの基本

どこに記述すればいいの?

3-5 学習シートでクラスとインスタンスの理解を深めよう!

学習シートでクラスとインスタンスを疑似体験

3-6 実際にお題目をプログラミングしてみよう!

まずはクルマのクラスを定義

電車のクラスと店主のクラスを定義

インスタンスを生成する

インスタンスをとりあえず使ってみる

3-7 お題目のプログラムを完成させよう

お題目にあわせて変更

メソッド「checkPrice()」を考える

メソッド「doDemo()」を考える

三たびメッセージのやりとりを考える

“舞台”を修正すれば完成!

3-8 最初に一度だけ実行される特殊なメソッドコンストラクタ

コンストラクタとは

第4章 他のモノから中身を隠すべしカプセル化

4-1 カプセル化ってどういうこと?

カプセル化の正体に迫る

オブジェクト指向プログラミングのメリットとの関係

4-2 カプセル化をするにはどうすればいい?

カプセル化の基本

フィールドに直接アクセスさせないためには

フィールドに間接的にアクセスするには

フィールドを非公開にする意義

メソッドを非公開にするには

4-3 学習シートでカプセル化の理解を深めよう

学習シートでカプセル化を疑似体験

4-4 実際にお題目でカプセル化に挑戦!

お題目をカプセル化

「CarToy」クラスを変更

「TrainToy」クラスを変更

「ShopKeeper」クラスを変更

セッターメソッドを使ってみる

第5章 チョット違う設計図を簡単に作ろう継承

5-1 継承のキモは、今ある設計図をチョット変更して使い回すこと

似てるけどチョット違うプログラムをラクに作る

スゴク便利そうだけど……

5-2 “チョット変更して使い回す”はどうやればいい?

既存のクラスを“拡張”して新しいクラスを作る

コンストラクタは受け継がれない

オーバーライド

修飾子「protected」と継承の関係

5-3 学習シートで継承の理解を深めよう

学習シートで継承を疑似体験

5-4 実際にお題目で継承に挑戦!

お題目にて継承を使う

「PatrolCarToy」クラスを新規作成

サイレンを鳴らすメソッドを追加

「ShopKeeper」クラスを変更

「ToyShop」クラスを変更

「走る」メソッドをオーバーライドしてみる

5-5 継承を使う際はここに注意!

継承は諸刃の剣

ならば、どうやって再利用性を向上する?

じゃあ継承はまったく使われないの?

第6章 機能をもっとカンタンに変更できるようにしたいポリモーフィズム

6-1 ポリモーフィズムって 何が便利なの?

ポリモーフィズムとは

ポリモーフィズムのメリット

ポリモーフィズムを実現するには

6-2 まずは設計図とモノの本当の関係を知っておこう

クラスとインスタンスの本当の関係

クラスとインスタンスの本当の関係

おさえておくべきポイント

6-3 元の設計図と継承した設計図の関係も知っておこう

サブクラスのインスタンスはスーパークラスの変数でも扱える

サブクラスはスーパークラスとしても見なせる

お題目で実体験してみる

スーパークラスの変数で扱えると何がいいの?

6-4 ポリモーフィズムは具体的にどうすればいい?

“シカケ”のタネ明かし

簡単な練習プログラムでポリモーフィズムを実体験

6-5 インターフェイスを利用してもっとスマートにポリモーフィズム

インターフェイスとは

Javaでインターフェイスを定義・実装するには

インターフェイスでポリモーフィズムを実現

継承を使う場合と何が違うの?

6-6 学習シートでポリモーフィズムの理解を深めよう

学習シートでポリモーフィズムをおさらい

6-7 インターフェイスを用いたポリモーフィズムにお題目で挑戦!

仕様変更があった。さぁ、どう対応する!?

インターフェイスを用いたポリモーフィズムで解決!

第7章 ポリモーフィズムを使いこなせるようになろう

7-1 お題目で、さまざまなパターンのデモを行えるようにする

デモを行う部分を切り出してみる

デモをクラス化する

インターフェイスを用いたポリモーフィズムを活用

7-2 さらに追加・変更に強くする

オブジェクトの配列を渡すようにする

各パターンのデモのクラスを対応させる

「ライトを点ける」や「警笛を鳴らす」はどうする?

7-3 抽象クラスを利用したポリモーフィズム

「価格をチェック」にもオモチャをまとめて渡す

抽象クラスを利用する

お題目で抽象クラスを使ってみる

抽象クラスでポリモーフィズムを実現

インターフェイスと抽象クラス、どっちを使う?

PR

秀和システム