忍者ブログ
よくわからないことを調べて解説してみるブログ。

2024

0426
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2015

0531
・代表的な実装例としては、プリミティブ型のラッパークラス群のvalueOfメソッド群
・new を用いず、引数の内容に応じて、生成するオブジェクトを切り替える。
・is-a関係にあるクラス群を全く同じ生成方法で用意することが出来る。

実装サンプル
package may20150531;

public class FactoryPattern {
	public static void main(String[] args) {
		Men jiro = FactoryPattern.createMen("次郎");
		Men somen = FactoryPattern.createMen("そうめん");

		jiro.printLardQuantity();
		somen.printLardQuantity();

	}

	// ファクトリメソッド
	public static Men createMen(String type) {
		switch (type) {
		case "次郎":
			return new Jiro();
		case "そうめん":
			return new Somen();
		default:
			break;
		}
		// 何も言わないと、次郎を食わされる。
		return new Jiro();
	}
}

class Jiro implements Men {
	String name = "次郎ラーメン";

	@Override
	public void printLardQuantity() {
		System.out.println(name + ", 油:マシマシ");
	}

}

class Somen implements Men {
	String name = "そうめん";

	@Override
	public void printLardQuantity() {
		System.out.println(name + ", 油:なし");
	}
}

interface Men {
	void printLardQuantity();
}

実行結果
次郎ラーメン, 油:マシマシ
そうめん, 油:なし

拍手[0回]

PR
Post your Comment
Name:
Title:
Font:
Mail:
URL:
Comment:
Pass: Vodafone絵文字 i-mode絵文字 Ezweb絵文字
<< [OCJP]formatクラスの整理 | HOME | [OCJP]Locale忍者ブログ [PR] * Template by TMP >>
プロフィール
HN:
たんてーくん
性別:
非公開
フリーエリア
最新CM
[09/25 http://2017.bblbuy.com]
[09/24 http://www.japanform.com]
[09/23 http://www.japanform.com]
[09/22 http://www.japanform.com]
[09/21 http://2017.bblbuy.com]
ブログ内検索
忍者ブログ [PR]
* Template by TMP