11月12日(木)1、2コマ目

今日、やったこと

  • 確認テスト
  • 新ネタへの導入

今日の確認テスト

一応、正解例を公開しておきます。

〇Resultクラス

結果受け渡しに使うクラス。


〇時刻フォーマット変換クラス(Enum)

この課題のメイン。

出力フォーマットごとに列挙定数を定義。

各列挙定数は変換クラスのインスタンスを参照する。

変換クラスは出力フォーマットが異なるため、この列挙型のサブクラスとして作成。

ただ、出力フォーマット毎にサブクラスを作るのはあほらしい(せいぜい、1行程度なので)ので、匿名クラスとして作る。

結局、前回の授業とほぼ同じ。


〇サーブレット

すいません、Serviceクラスを作らずに、サーブレットで列挙型からインスタンス取得して変換してしまいました。


〇index.jsp

とくにこれと言ってなにもないかと。


今日のホワイトボード

サンプルアプリケーションについて

ユーザー一覧から条件に合う人だけ表示するアプリケーションです。

おそらく、検索条件が今後増えることになりそうで、楽に対応できるようにしておきたいです。

そこでよく使われるのが、「オブジェクト指向プログラミング」です。

図 仕様変更(検索条件の追加)に備えて

オブジェクト指向プログラミング導入

下図のようなクラス構成になります。

図 「オブジェクト指向プログラミング」導入

今後、検索条件が増えても、ICheckerインタフェースを実装したクラスを作るだけでOKです。

なお、今までやってきた「動的インスタンス生成」や「enumを使ってインスタンス取得」はICheckerインタフェース実装クラスのインスタンス生成の際に条件分岐をさせないためのテクニックでした。

この授業では、このICheckerインタフェース実装クラスの作成を楽にするテクニックを紹介していきます。





コメント

このブログの人気の投稿

10月20日(火)1、2コマ目

10月15日(木)1、2コマ目

12月24日(木)1、2コマ目