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();
        }
    }
  • 相关阅读:
    汉诺塔:递归
    三羊献瑞:next_permutation()
    k倍区间:前缀和
    Doing Homework again:贪心+结构体sort
    指针初探
    C#实验题目
    [ACM] hdu 1286 找新朋友(欧拉函数)
    环形队中实现队列的基本运算
    队列的顺序存储结构及其基本运算的实现
    栈的链式存储结构及其基本运算实现
  • 原文地址:https://www.cnblogs.com/sansyou/p/7793297.html
Copyright © 2011-2022 走看看