版权声明:本文为博主原创文章,未经博主允许不得转载。个人公众号:百草疯茂 https://blog.csdn.net/wang_pengyu/article/details/84873245
package com.test.DPs.ChuangJian.FactoryMethod;
/**
* 创建型:FactoryMethod-工厂方法
*/
interface food{}
class A implements food{}
class B implements food{}
class C implements food{}
public class StaticFactory{
private StaticFactory(){}
public static food getA(){return new A();}
public static food getB(){return new B();}
public static food getC(){return new C();}
}
/**
* 工厂方法-FactoryMethod
* 用途:定义一个用于创建对象的接口,让子类决定实例化哪一个类。
* FactoryMethod将类的实例化延迟到子类。
*
* 相对于AbstarctFactory,如果新增产品,则需改动StaticFactory类,而AF直接添加新类工厂和产品。
*/
class Client{
public void get(String name){
food x = null;
if(name.equals("A")){
x = StaticFactory.getA();
}else if(name.equals("B")){
x = StaticFactory.getB();
}else{
x = StaticFactory.getC();
}
}
}