zoukankan      html  css  js  c++  java
  • 工厂模式学习记录

      工厂模式(Factory Pattern)

      

      1,Shape接口的定义

    package factory;
    
    public interface Shape {
        void draw();
    }    

      2,Circle实现Shape接口

    package factory;
    
    public class Circle implements Shape {
    
        @Override
        public void draw() {
            System.out.println("draw a Circle");
        }
    
    }

      3,Rectangle实现Shape接口

    package factory;
    
    public class Rectangle implements Shape {
    
        @Override
        public void draw() {
            System.out.println("draw a rectangle");
        }
    
    }

      4,Square实现Shape接口

    package factory;
    
    public class Square implements Shape {
    
        @Override
        public void draw() {
            System.out.println("draw a Square");
        }
    
    }

      5,工厂方法类ShapeFactory

    package factory;
    
    public class ShapeFactory {
         static final String CIRCLE="circle";
         static final String SQUARE="square";
         static final String RECTANGLE="rectangle";
        public Shape getShape(String type){
            if(type.equals(CIRCLE)){
                return new Circle();
            }else if(type.equals(RECTANGLE)){
                return new Rectangle();
            }else if(type.equals(SQUARE)){
                return new Square();
            }else{
                return null;
            }
            
        }
    }

      6,工厂的使用Demo

    package factory;
    
    public class FactoryDemo {
        public static void main(String[] args) {
            ShapeFactory factory= new ShapeFactory();
            
            Shape shape=factory.getShape(ShapeFactory.CIRCLE);
            shape.draw();
        }
    }
  • 相关阅读:
    超大文件排序
    透彻理解迪杰斯特拉算法
    Floyd-傻子也能看懂的弗洛伊德算法(转)
    轻松实现在浏览器上播放本地视频
    Caffeine缓存处理
    每日日报94
    每日日报93
    下载安装SQL server2008的步骤
    每日日报92
    每日日报91
  • 原文地址:https://www.cnblogs.com/sansyou/p/7793297.html
Copyright © 2011-2022 走看看