工厂模式,简单一句话,就是使用工厂类创建对象并封装起来,不在main程序中暴露对象创建过程。
public interface PhoneInterface {//创建接口标准,供所有的类实现,这里是供huawei和xiaomi等类来实现
public abstract void makePhone();
}
public class XiaoMi implements PhoneInterface{
@Override
public void makePhone() {
System.out.println("制造小米手机");
}
}
public class HuaWei implements PhoneInterface{
@Override
public void makePhone() {
System.out.println("制造华为!~");
}
}
/**
*创建工厂类,定义getIntance方法,该静态方法直接返回对象。
*/
public class Factory {
public static PhoneInterface getIntance(String product){
if(product.equals("小米")){
return new XiaoMi();//创建XiaoMi类
}else if(product.equals("华为")){
return new HuaWei();//创建HuaWei类
}else {
return null;
}
}
}
public class factoryDemo {
public static void main(String[] args) {
PhoneInterface xm = Factory.getIntance("小米");//通过工厂类调用getIntance方法,返回XiaoMi对象
xm.makePhone();
PhoneInterface hw = Factory.getIntance("华为");//通过工厂类调用getIntance方法,返回HuaWei对象
hw.makePhone();
}
}