zoukankan      html  css  js  c++  java
  • 工厂设计模式

    工厂设计模式:

    假设有一个人在工厂里生产牛奶(Milk),生产啤酒(Beer)

    现在这个人想喝东西所以定义两种产品都同一个接口Drink

    然后让所有产品都实现这个接口

    interface Drink{
      public void Drink(){}
    }
    class Milk implement Drink{   public void Drink(){
        System.out.println("喝牛奶");
      } }
    class Beer implement Drink{   public void Drink(){
        System.out.println("喝啤酒");
      } }

     public class App{
       public static void main(String[] args) {
       
       }
     }

    接下来再写一个工厂类

    interface Drink{public void Drink();}
    class Milk implements Drink{
        public void Drink(){
            System.out.println("喝牛奶");
        }
    }
    class Beer implements Drink{
        public void Drink(){
            System.out.println("喝啤酒");
        }
    }
    
    class DrinkFactory{
        public static Drink getInterface(String str){
            if(str.equalsIgnoreCase("m")){
                return new Milk();
            }else if (str.equalsIgnoreCase("b")) {
                return new Beer();
            }else{
                return null;
            }
        }
    }
    
    public class App{
        public static void main(String[] args) {
            
        }
    }

    接下来就可以决定进行喝什么

    interface Drink{public void Drink();}
    class Milk implements Drink{
    	public void Drink(){
    		System.out.println("喝牛奶");
    	}
    }
    class Beer implements Drink{
    	public void Drink(){
    		System.out.println("喝啤酒");
    	}
    }
    
    class DrinkFactory{
    	public static Drink getInterface(String str){
    		if(str.equalsIgnoreCase("m")){
    			return new Milk();
    		}else if (str.equalsIgnoreCase("b")) {
    			return new Beer();
    		}else{
    			return null;
    		}
    	}
    }
    
    public class App{
    	public static void main(String[] args) {
    		Drink milk=DrinkFactory.getInterface("m");
    		milk.Drink();
    		Drink beer=DrinkFactory.getInterface("b");
    		beer.Drink();
    	}
    }
    

    然后完成了:

  • 相关阅读:
    左偏树
    论在Windows下远程连接Ubuntu
    ZOJ 3711 Give Me Your Hand
    SGU 495. Kids and Prizes
    POJ 2151 Check the difficulty of problems
    CodeForces 148D. Bag of mice
    HDU 3631 Shortest Path
    HDU 1869 六度分离
    HDU 2544 最短路
    HDU 3584 Cube
  • 原文地址:https://www.cnblogs.com/zyn0216/p/8183802.html
Copyright © 2011-2022 走看看