博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
抽象工厂类--一个简单的例子
阅读量:6916 次
发布时间:2019-06-27

本文共 1802 字,大约阅读时间需要 6 分钟。

一:利用抽象工厂建造一个加减乘除运算器:

下面是具体的代码实现:

Cal抽象方法:

package com.hbc.factory;public abstract class Cal {    public abstract int getResult(int a, int b);}

Add:

package com.hbc.factory;public class Add extends Cal{    @Override    public int getResult(int a, int b) {        return a + b;    }}

Sub:

package com.hbc.factory;public class Sub extends Cal{    @Override    public int getResult(int a, int b) {        return a - b;    }}

Mul:

package com.hbc.factory;public class Mul extends Cal{    @Override    public int getResult(int a, int b) {        return a * b;    }}

Div:

package com.hbc.factory;public class Div extends Cal{    @Override    public int getResult(int a, int b) {        return a / b;    }}

Operation:这个类是具体操作,以及测试:

package com.hbc.factory;import java.util.Scanner;public class Operation{    public static Cal getCal(char c){        Cal cal = null;        switch(c){            case '+':                cal = new Add();                break;            case '-':                cal = new Sub();                break;            case '*':                cal = new Mul();                break;            case '/':                cal = new Div();                break;            default:                System.out.println("不好意思,您输入的操作有误");        }        return cal;    }    public static void main(String[] args) {        System.out.println("请输入您要进行的操作");        Scanner cin = new Scanner(System.in);        while(cin.hasNext()){                        String op = cin.next();            Cal cal = getCal(op.charAt(0));            System.out.println("请输入您要操作的数字");            int a = cin.nextInt();            int b = cin.nextInt();            System.out.println("计算的结果是: " + cal.getResult(a, b));            System.out.println("请输入您要进行的操作");        }            }}

 二.使用抽象工厂模式实现电子商务系统的数据访问层功能。

 

转载地址:http://xmxcl.baihongyu.com/

你可能感兴趣的文章
HTTP协议详解
查看>>
自己写token类(无视jwt)
查看>>
NIOS2随笔——中断控制
查看>>
VNX VMX and delete luns
查看>>
Saltstack部署
查看>>
「人物特写」工程院院士谭建荣:马云不是制造业的杀手,工业机器人也不是救命良药...
查看>>
PHP添加zip&&curl扩展
查看>>
Ubuntn16 部署shellinabox--web shell工具
查看>>
SVN的部署和仓库的备份及WIN7客户端测试
查看>>
saltstack搭建集群3
查看>>
Python学习(13)--Lambda表达式和switch语句的实现
查看>>
the vmrc console has disconnected attempting to reconnect
查看>>
配置bind主域名服务器
查看>>
DeepMind让AI系统拥有记忆,教机器学习系统举一反三打游戏
查看>>
WordPress用户登录后根据不同的角色跳转到不同的页面处理
查看>>
利用autobench测试web服务器极限并发数
查看>>
视图和模型变换
查看>>
Matlab绘图控制命令
查看>>
C#实现CAD数据转shape或mdb
查看>>
使用MiniProfiler给Asp.net MVC和Entity Framework号脉(附源码)
查看>>