トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

オブジェクト指向プログラミング(C317-2 2005/11/28)

オブジェクト指向プログラミング 第12回 2005/11/28

 テンプレートメソッド

似通ったコードをまとめ、細かな違いはサブクラスに任せる。

 演習

  1. 配布したプリントのプログラムを完成させる。
  2. 次のプログラムを作る。
    1. コンストラクタ引数で指定した一文字を5個表示するクラスCharDisplay?
    2. コンストラクタ引数で指定した文字列を5個表示するクラスStringDisplay?
    3. 上記二つのクラスのスーパークラスAbstractDisply?

実行例 

<<HHHHH>>      ← AbstractDisplay d1 = new CharDisplay('H');
                   d1.display();
+------------+ ← AbstractDisplay d2 = new StringDisplay("Hello World.");
|Hello World.|     d2.display();
|Hello World.|
|Hello World.|
|Hello World.|
|Hello World.| 
+------------+
+----------+ ← AbstractDisplay d3 = new StringDisplay("こんにちは");
|こんにちは|     d3.display();
|こんにちは|
|こんにちは|
|こんにちは|
|こんにちは| 
+----------+

 クラス図

メソッド 種類 役割
open abstract <<や+--..-+を描く
close abstract >>や+--..-+を描く
print abstract 文字や文字列を出力
display 5回繰り返しprintメソッドを実行

[オブジェクト指向プログラミング(C317-2)]