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

      

  • 相关阅读:
    Eclipse IDE及环境设置
    Spring3.X 配置Spring MVC 配置
    常用排序算法总结
    内存数据库
    mysql提高查询速度
    Linux下nginx编译安装教程和编译参数详解
    Mysql初始化root密码和允许远程访问
    GIS1
    ArcGIS Server分布式安装(转)
    COM
  • 原文地址:https://www.cnblogs.com/huan30/p/12732978.html
Copyright © 2011-2022 走看看