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();
    }
    }

    
    
  • 相关阅读:
    PKU 3984 迷宫问题
    九度 1341 艾薇儿的演唱会
    九度 1335
    SDUT 1198 鞍点计算
    POJ 1363 Rails
    SDUT 1570 C旅行
    HDU 1042 N!
    SDUT 1568 俄罗斯方块
    HDU 1257 最少拦截系统
    POJ 3750 小孩报数问题
  • 原文地址:https://www.cnblogs.com/maxiw/p/9945427.html
Copyright © 2011-2022 走看看