zoukankan      html  css  js  c++  java
  • java常用设计模式--工厂方法模式简单例子

    package com.ruanyun;

    /**
    * @Auther: maxw
    * @Date: 2018/11/12 11:02
    * @Description:工厂方法模式:有四个角色,抽象工厂模式,具体工厂模式,抽象产品模式,具体产品模式。
      不再是由一个工厂类去实例化具体的产品,而是由抽象工厂的子类去实例化产品。
      还有个抽象工厂方法模式:只需要再加一个产品接口 比如衣服接口 然后实现 就变成了抽象工厂方法模式。
    */
    public class Test6 {
    public static void main(String args[]){
    ShoesFactory liNingFactory = new LiNingFactory();
    Shoes liNing = liNingFactory.create();
    liNing.run();
    ShoesFactory nikeFactory = new NikeFactory();
    Shoes nike = nikeFactory.create();
    nike.run();
    }
    }
    //定义一个鞋子接口
    interface Shoes{
    void run();
    }
    //李宁鞋子
    class LiNing implements Shoes{
    @Override
    public void run() {
    System.out.println("李宁的鞋子就是舒服。。。");
    }
    }
    //耐克鞋子
    class Nike implements Shoes{
    @Override
    public void run() {
    System.out.println("耐克的鞋子就是贵。。。");
    }
    }
    //定义一个抽象鞋工厂
    abstract class ShoesFactory{
    abstract Shoes create();
    }
    //李宁鞋厂
    class LiNingFactory extends ShoesFactory{
    @Override
    Shoes create() {
    System.out.println("李宁鞋厂生产了李宁的鞋子。。。");
    return new LiNing();
    }
    }
    //耐克鞋厂
    class NikeFactory extends ShoesFactory{
    @Override
    Shoes create() {
    System.out.println("耐克鞋厂生产了耐克的鞋子。。。");
    return new Nike();
    }
    }

    
    
  • 相关阅读:
    密码 (pasuwado)
    bzoj 4131: 并行博弈 (parallel)
    Beads
    bzoj2338数矩形(rectangle)
    数树数
    最近公共祖先(lca)
    在python中遍历字典元素
    加载本地json文件,并利用批处理调用Chrome显示html
    numpy保存数据
    Echarts 地理信息可视化:基于地图显示坐标点信息
  • 原文地址:https://www.cnblogs.com/maxiw/p/9945427.html
Copyright © 2011-2022 走看看