#粤嵌星计划,粤嵌我来了#
#每天知多D#
核心思想:想用产品时,我不需要知道这个产品是怎么生成出来,我只想使用这个产品。
使用者只使用,创建由工厂类完成。
比如有一个父类叫手机类,它有三个子类分别为:华为手机类,小米手机类,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();
}
}
}