zoukankan      html  css  js  c++  java
  • 工厂方法(Factory Method)

      工厂模式最终可以完成  

        1.任意定制交通工具

        2.任意定制生产过程 -- 工厂方法实现

        3.任意定制产品一族  -- 抽象工厂实现

      工厂方法-(Factory Method) : 定义一个用于创建产品的接口,由子类决定生产什么产品

    /**
     * 定义一个交通工具
     */
    public interface Vehicle {
        void go();
    }
    /**
     * 飞行扫把
     */
    public class Broom implements Vehicle {
        @Override
        public void go() {
            System.out.println("broom go");
        }
    }
    /**
     * 汽车
     */
    public class Car implements Vehicle {
        @Override
        public void go() {
            System.out.println("car go");
        }
    }
    /**
     * 飞机
     */
    public class Plane implements Vehicle {
        @Override
        public void go() {
            System.out.println("plane go ");
        }
    }
    

      

    /**
     * 交通创建工厂
     */
    public interface VehicleFactory {
        Vehicle create();
    }
    public class BroomFactory implements VehicleFactory {
        @Override
        public Vehicle create() {
            System.out.println(" create broom before");
            return new Broom();
        }
    }
    public class CarFactory implements VehicleFactory {
        @Override
        public Vehicle create() {
            System.out.println(" create car before");
            return new Car();
        }
    }
    public class PlaneFactory implements VehicleFactory {
        @Override
        public Vehicle create() {
            System.out.println(" create plane before");
            return new Plane();
        }
    }
    

     

    public class Main {
        public static void main(String[] args) {
            Vehicle car = new CarFactory().create();
            car.go();
            Vehicle plane = new PlaneFactory().create();
            plane.go();
        }
    }
    

    结果: create car before car go create plane before plane go

      

  • 相关阅读:
    关于Dockerfile
    hiho一下 第六十四周 Right-click Context Menu
    hdu2642二维树状数组单点更新+区间查询
    东大oj-1511: Caoshen like math
    东大OJ-1588: Routing Table
    东大oj-1591 Circle of friends
    2015年辽宁省赛Interesting Tree
    东大OJ-1544: GG的战争法则
    迷宫问题-广度优先搜索
    vijos P1009清帝之惑之康熙
  • 原文地址:https://www.cnblogs.com/huan30/p/12732978.html
Copyright © 2011-2022 走看看