0章:①オブジェクト指向プログラミングを理解する。~概要~

目次はこちら

オブジェクト指向プログラミングを理解する。

作成するプログラムの設計、テストケースの作成、実装を行います。
いわゆる「テストファースト」の実装方法です。日本語では「テスト駆動型開発」などと言ったりします。
仕様を明確にし、プログラムを組むときに必要な要件を具体化して実装する方法です。
Google社でも使用している開発方法です。

「テストファースト」という手法が同じという意味で、Google社のやり方と全く同じではありません。

この実装方法を使用して、以下の手順で実装していきます。

  1. フローチャートを作成する
  2. クラス図を作成する
  3. テストケースを作成する
  4. 実装とテストを同時に実行する

このような手順で「じゃんけんゲーム」を作成し、以下の違いを理解します。

  • オブジェクト指向プログラミングではない実装をしたとき
  • オブジェクト指向プログラミングで実装したとき

最後にミニゲームとして「テキストRPG(戦闘シーンのみ)」を作成します。

リンク先

学習内容

  • フローチャートの書き方
  • Javaの基本
    • データ型の理解(int, double, char, 文字列, 配列)
    • Javaの基本文法(for, while, switch, ifなど)
    • 変数の扱い方とスコープ
    • メソッドの作り方
    • JavaAPIの使い方
    • クラスの作り方
    • パッケージング
    • JUnitでのテストケースの作成と実行方法
  • Javaのクラス関係の作り方(継承と参照)
    • クラス図の書き方と考え方
    • クラス間の継承関係の作り方
    • インターフェースの作り方と使い方
  • リフレクション(java.lang.refrection)の実装
  • クラス毎の役割分担方法

受講における必要条件

  • Javaを学習する意欲がある方

この教材の対象者

  • Java言語を学習したい方
  • オブジェクト指向プログラミングを理解したい方
  • ゼロからアプリケーションを組みたい方
  • プログラム設計~テストまで一通りやってみたい方

学ばないこと

本教材は、Java API(java.util.Listなど)を使用していますが
詳細には学習しません。JavaDocを参照するようにしてください。

本教材の対応バージョン

Macでも受講することができますが、説明はWindowsの方向けになります。

  • Java8(jdk1.8)
  • Windows

作成するアプリケーションのイメージをつかもう

  1. じゃんけんゲーム

※以下の画像をクリックすると動画が見れます。

IMAGE ALT TEXT HERE

  1. テキストRPG(戦闘シーンのみ)

※「テキストRPG(戦闘シーンのみ)」なのでバージョン0.5になります。
 以下の画像をクリックすると動画が見れます。

IMAGE ALT TEXT HERE

学習における注意点

サンプルコードが正しいということはなく、実行結果が想定通りであることを確認する事に留意して行ってください。

つまり、下の例1と例2のプログラムの実行結果は同じになりますが、コードには違いがあります。
この様な時に、例1が正解で、例2が不正解ということではない。
という意味です。

例1

int i = 1;
int h = 2;
System.out.println(i + h);

例2

System.out.println(1 + 2);

そして、プログラムに「何をさせて、どのように作成するか?」ということを自問自答しながら教材を進めることをお勧めします。
コピー&ペーストしてやっても面倒なだけになってしまいます。

目次

0章 開発環境構築

  • 0-1 JDKのインストール
  • 0-2 Eclipseのインストール
  • 0-3 練習用プロジェクトの作成
  • 0-4 JUnitの設定

1章 オブジェクト指向プログラミングとそうでないプログラミング

  • 1-1 じゃんけんゲームの設計をする〜フローチャートの作成とJavaの基本〜
  • 1-2 じゃんけんゲームの詳細設計〜処理の塊と共通変数(フィールド)〜
  • 1-3 改めてメインメソッドを見る〜メンバ変数、ローカル変数の概念〜
  • 1-4 実装とテスト〜JUnitを使用して、テストケースから作成〜
  • 1-5 追加実装を行う〜入力チェックと表示の変更〜

2章 オブジェクト指向プログラミングで実装

  • 2-1 じゃんけんゲームの設計をする〜Chapter1と同じものを使用する〜
  • 2-2 クラスの役割分担を考える〜処理の塊一覧から分担を考える〜
  • 2-3 役割ごとのクラスを作る〜クラス図の作成〜
  • 2-4 実装とテスト〜じゃんけんゲームの各部品のみ〜
  • 2-5 メイン処理=ゲームループを作成する

3章 ミニゲームを作ってみよう

  • 3-1 テキストRPG(戦闘シーンのみ)を作ってみよう
  • 3-2 テキストRPG(戦闘シーンのみ)を設計する〜①フローチャート、②ユースケース〜
  • 3-3 テキストRPG(戦闘シーンのみ)を詳細設計する〜③クラス図〜
  • 3-4 クラス図を眺める〜①〜③を眺めてメイン処理を考える〜
  • 3-5 メインメソッドを作る〜マルチスレッド対応を考えメイン処理を作成する〜
  • 3-6 テキストRPG(戦闘シーンのみ)のテストケースを作る
  • 3-7 実装とテスト