トップ 一覧 Farm 検索 ヘルプ RSS ログイン

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

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!オブジェクト指向プログラミング 第12回 2005/11/28
!!テンプレートメソッド
似通ったコードをまとめ、細かな違いはサブクラスに任せる。
{{ref_image "templatem.png"}}

!!演習
+配布したプリントのプログラムを完成させる。
+次のプログラムを作る。
++コンストラクタの引数で指定した一文字を5個表示するクラスCharDisplay
++コンストラクタの引数で指定した文字列を5個表示するクラスStringDisplay
++上記二つのクラスのスーパークラス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();
 |こんにちは|
 |こんにちは|
 |こんにちは|
 |こんにちは| 
 +----------+

!!クラス図
{{ref_image "templatemethod.png"}}

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

----
{{category オブジェクト指向プログラミング(C317-2)}}