!!!オブジェクト指向プログラミング 第12回 2005/11/28 !!テンプレートメソッド 似通ったコードをまとめ、細かな違いはサブクラスに任せる。 {{ref_image "templatem.png"}} !!演習 +配布したプリントのプログラムを完成させる。 +次のプログラムを作る。 ++コンストラクタの引数で指定した一文字を5個表示するクラスCharDisplay ++コンストラクタの引数で指定した文字列を5個表示するクラスStringDisplay ++上記二つのクラスのスーパークラスAbstractDisply !実行例  <> ← 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)}}