工厂模式-java案例

核心思想:想用产品时,我不需要知道这个产品是怎么生成出来,我只想使用这个产品。

使用者只使用,创建由工厂类完成。

比如有一个父类叫手机类,它有三个子类分别为:华为手机类,小米手机类,oppo手机类。

使用者只需要告诉工厂要什么对象,工厂就创建什么对象返回给使用者。

之所以叫工厂模式,正是因为它像极了现实生活,普通人想拥有一部手机,但他不可能从零把手机生产出来,而是跟手机工厂说:“我想要一台华为手机,你造好了给我吧。”

手机工厂的职责就是负责生产手机,它是专业的。
interface Phone {
	public void call();
}

class Huawei implements Phone {
	@Override
	public void call() {
		System.out.println("华为手机");
	}
}

class XiaoMi implements Phone {
	@Override
	public void call() {
		System.out.println("小米手机");
	}
}

class Oppo implements Phone {
	@Override
	public void call() {
		System.out.println("OPPO手机");
	}
}

class PhoneFactory {
	public static Phone getPhone(String type) {
		if (type == null) {
			return null;
		}
		if ("huawei".equalsIgnoreCase(type)) {

			return new Huawei();
		} else if ("xiaomi".equalsIgnoreCase(type)) {
			return new XiaoMi();
		} else if ("oppo".equalsIgnoreCase(type)) {
			return new Oppo();
		}
		return null;
	}
}

public class Test2 {
	public static void main(String[] args) {
		Phone p = PhoneFactory.getPhone("Huawei");
		if (p != null) {
			p.call();
		}
	}
}



全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务