• 抽象工厂类--一个简单的例子


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

    下面是具体的代码实现:

    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("请输入您要进行的操作");
            }
            
        }
    }

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

  • 相关阅读:
    main 函数返回值
    软件架构师必备能力
    Thinkpad S430 3364-A59 (笔记本型号)加内存条过程
    Mysql char(10) 与 varchar(10)的区别
    centos6.5 安装openresty
    AndroidStudio不自己主动加入新创建的文件到VCS
    【HDU 5647】DZY Loves Connecting(树DP)
    linux 新进程的创建
    如何处理Android中的防缓冲区溢出技术
    nyoj 119士兵杀敌(三)(线段树区间最值查询,RMQ算法)
  • 原文地址:https://www.cnblogs.com/handsomecui/p/6510876.html
Copyright © 2020-2023  润新知