ゴール
オブジェクト指向プログラミングを身に着けることです。
では何をもって身に付いたと言えるか?
それは、「自分でオブジェクトを定義し、そのオブジェクトに仕事をさせることができる」ようになったときです。
ステップ
オブジェクト指向プログラミングとは?
オブジェクト指向プログラミングの便利さを実感する
- 機能拡張をStateパターンで実装する例です。
既存コードを修正することなく、新たなクラスの追加のみで機能拡張できる典型例です。
映画のレイティング判定をStateパターンで実装する
身に着けるための方法
目標:1000行以上をオブジェクト指向でコーディングすること(以下は参考題材です)
- 【Java】オブジェクト指向の練習題材(会員オブジェクト):40行
- 【Java】オブジェクト指向の練習題材(会計オブジェクト):53行
- 【Java】オブジェクト指向の練習題材(成績オブジェクト):67行
- オブジェクト指向でじゃんけんを作ってみる:75行
最低限身に着けてほしいデザインパターンです。
上記書籍のソースコード行数をパターン名の横に記載致します。
- Stateパターン:151行
変更に強い典型的なパターン。
状態によって振る舞いを変えることができるため、他のコードに依存しない実装が可能になる。
<適用事例>映画のレイティング判定をStateパターンで実装する:115行 - Template Methodパターン:61行
ロジックを共通化し、実装の中身は個別に定義できるパターン。
同じロジックだけど、状況に応じて個別の処理を実現したいというときに有用です。
<適用事例>【TemplateMethodパターン】売上レポートをテキストとHTML形式で出力分けする事例:178行 - Compositeパターン:104行
再帰構造を実現するパターン。
階層(フォルダ階層)と末端(ファイル)が存在するような構造を実現できます。
<適用事例>CompsiteパターンでHTMLタグを実現するには?:70行 - Observerパターン:70行
状態の変化に応じた処理を実現するパターン。
処理対象の状態が変化したことを察知して、その変化に応じた動作を実現します。
<適用事例>Observerパターンってどう使うの?を考える(商品の予約):51行
Lesson2:86行
Lesson3:145行
Lesson4:166行
Lesson5:244行
Lesson6:282行
Lesson7:320行
Lesson8:233行
Lesson9:598行
※サンプルプログラムのダウンロード
数えた行数は重複コードとカッコだけの行も含んでいます。
それらを除いた場合でも1000行はあると思われますので、オブジェクト指向プログラミングについて学びたい方は一通り実践してみることをお勧めします。
まとめ
オブジェクト指向プログラミングを身に着けると、コーディングが楽しくなります。
なぜかというと、ロジックが理解し易くなり、修正するのも楽になるからです。
最初はよくわからないと思いますが、事例を基に何度もコーディングしたり、自分で考えてコーディングする内にわかるようになってきます。
そのためには、とにかくコードを書くことです。
最低でも1000行以上をオブジェクト指向でコーディングして下さい。
そうすれば、「ん、なんとなくわかってきたかも?」となってくるはずです。