美文网首页
Java开发设计模式之工厂模式

Java开发设计模式之工厂模式

作者: 伪装的狼 | 来源:发表于2020-06-17 23:24 被阅读0次

    public class FactoryMode {

    public static void main(String[] args) {
    
        Fruit fruit = Factory.getInstance("apple");
        if (fruit!=null){
            fruit.getEat();
        }
    
    }
    

    }

    //定义水果接口标准,水果就是用来吃的
    interface Fruit{
    void getEat();
    }

    //实现水果类的抽象方法
    class Apple implements Fruit{
    @Override
    public void getEat() {
    System.out.println("吃苹果!");
    }
    }

    class Oranges implements Fruit{
    @Override
    public void getEat() {
    System.out.println("吃橙子!");
    }
    }

    class Factory{

    public static final String APPLE = "apple";
    public static final String ORANGES = "oranges";
    
    /**
     * 根据传入的不同名称返回不同对象
     * @param fruitName
     * @return
     */
    
    public static Fruit getInstance(String fruitName){
        if (APPLE.equals(fruitName)){
            return new Apple();
            }
        else if (ORANGES.equals(fruitName)){
            return new Oranges();
        }else {
            return null;
        }
    }
    

    }

    /*

    • 总结:程序定义了一个Factory工厂类,并且提供了一个静态方法用来返回Fruit接口的实例化对象,
    • 该方法对外隐藏子类,只需要根据声明Fruit类即可实例化一个实现Fruit接口的对象。
    • 缺点:
    • 1、每次修改添加Fruit接口时都需要对Factory进行修改
    • 2、如果有多个接口是通过Factory获取实例的,那么Factory获取实例的逻辑也要添加
    • */

    相关文章

      网友评论

          本文标题:Java开发设计模式之工厂模式

          本文链接:https://www.haomeiwen.com/subject/denexktx.html