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

    
    
  • 相关阅读:
    算法:最小公倍数的求解方法
    使用C语言中qsort()函数对浮点型数组无法成功排序的问题
    用两个栈模拟实现一个队列
    单链表反向查找
    单链表逆序
    斐波那契(Fibonacci)数列的几种计算机解法
    最大子列和问题
    Visual Studio个人常用快捷键
    数字根(digital root)
    秦九韶算法(霍纳算法)求解多项式
  • 原文地址:https://www.cnblogs.com/maxiw/p/9945427.html
Copyright © 2020-2023  润新知