zoukankan      html  css  js  c++  java
  • 抽象工厂模式

    【实验内容和要求】

    麦当劳(McDonalds)和肯德基(KFC)快餐店都经营汉堡(Hamburg)和可乐(Cole),用JAVA语言实现(C#控制台应用程序实现)这两个快餐店经营产品的抽象工厂模式。绘制该模式的UML图。

    模式UML

    【模式代码(JAVA语言实现)】

    //主函数

    import java.util.Scanner;

    public class AbstractFactory {

    public static void main(String arg[])

    {

    Scanner input=new Scanner(System.in);

    System.out.println("1:KFC  2:McDonalds");

    int a=input.nextInt();

    Hamburg h;

    Cole c;

    if(a==1)

    {

    Creator af=new KFCFactory();

    System.out.println("1:Hamburg  2:Cole");

    int b=input.nextInt();

    if(b==1)

    {

    h=af.createHamburg();

    h.getHamburg();

    }else{

    c=af.createCole();

    c.getCole();

    }

    }else if(a==2)

    {

    Creator af=new McFactory();

    System.out.println("1:Hamburg  2:Cole");

    int b=input.nextInt();

    if(b==1)

    {

    h=af.createHamburg();

    h.getHamburg();

    }else{

    c=af.createCole();

    c.getCole();

    }

    }

    }

    }

    //工厂类

    public interface Creator {

    Hamburg createHamburg();

    Cole createCole();

    }

    public class KFCFactory implements Creator {

    @Override

    public Hamburg createHamburg() {

    // TODO Auto-generated method stub

    return new KFCHamburg();

    }

    @Override

    public Cole createCole() {

    // TODO Auto-generated method stub

    return new KFCCole();

    }

    }

    public class McFactory implements Creator {

    @Override

    public Hamburg createHamburg() {

    // TODO Auto-generated method stub

    return new McHamburg();

    }

    @Override

    public Cole createCole() {

    // TODO Auto-generated method stub

    return new McCole();

    }

    }

    //产品类

    public interface Cole {

    public void getCole();

    }

    public class KFCCole implements Cole {

    @Override

    public void getCole() {

    // TODO Auto-generated method stub

    System.out.println("KFCCole");

    }

    }

    public class McCole implements Cole {

    @Override

    public void getCole() {

    // TODO Auto-generated method stub

    System.out.println("McCole");

    }

    }

    public interface Hamburg {

    public void getHamburg();

    }

    public class KFCHamburg implements Hamburg {

    @Override

    public void getHamburg() {

    // TODO Auto-generated method stub

    System.out.println("KFCHamburg");

    }

    }

    public class McHamburg implements Hamburg {

    @Override

    public void getHamburg() {

    // TODO Auto-generated method stub

    System.out.println("McHamburg");

    }

    }

    【运行截图】

  • 相关阅读:
    使用fiddler对手机APP进行抓包
    接口功能测试
    API测试
    接口测试之接口api文档的重要性
    接口测试(基础知识)
    MonkeyRunner使用
    Android 压力测试工具Monkey
    MonkeyScript
    Jmeter和LoadRunner的区别
    http协议简介
  • 原文地址:https://www.cnblogs.com/ljs-666/p/8678229.html
Copyright © 2011-2022 走看看