zoukankan      html  css  js  c++  java
  • Java 设计模式01

    先要学习设计模式之前的先看看一些基础 UML类图简单说明

    可以先看看我的这篇博客: UML类图简单说明,学习编程思路的必会技能

    接下来才是重点,开始我们的旅程吧.

    一.UML类图展示

    我们要用简单工厂模式   实现简易的计算器,看到上面的UML图估计你们都应该明白改创建那些类了,那我们就开始吧。

    编程是一门艺术,所以编程切记不要拿着就开始写,一定要理清思路然后在开始行动.

    二.开始编程

        1. 根据UML类图的规划  ,我们首先创建抽象运算类  Operation (如果直接看这个不懂为什么是运算类是抽象类的可以看看上面我推荐的UML说明文章)

    /**
     * 操作类
     */
    public class Operation {
    
        private double numA = 0;
        private double numB = 0;
    
        public double getNumA() {
            return numA;
        }
    
        public void setNumA(double numA) {
            this.numA = numA;
        }
    
        public double getNumB() {
            return numB;
        }
    
        public void setNumB(double numB) {
            this.numB = numB;
        }
    
        /**
         * 获取结果值
         * @return
         */
        public double getResult(){
    
            double result = 0;
            return result;
        }
    }

     

       2.分别创建四个子类(加减乘除类)   

    /**
     * 加法运算类
     */
    public class AddOperation extends Operation {
    
        @Override
        public double getResult() {
            return getNumA() + getNumB();
        }
    }
    /**
     * 减法运算类
     */
    public class SubOperation extends Operation {
    
        @Override
        public double getResult() {
            return getNumA() - getNumB();
        }
    }
    /**
     * 乘法运算类
     */
    public class MulOperation extends Operation {
    
        @Override
        public double getResult() {
            return getNumA() * getNumB();
        }
    }
    /**
     * 除法运算类
     */
    public class DivOperation extends Operation {
    
        @Override
        public double getResult() {
            try{
                return getNumA() / getNumB();
            }catch (Exception e){
                return 0;
            }
        }
    }

      3.创建工厂类

    /**
     * 工厂类
     */
    public class OperationFactory {
    
        public static Operation createOperation(String operate){
    
            Operation operation = null;
            switch (operate){
                case "+":
                    operation = new AddOperation();
                    break;
                case "-":
                    operation = new SubOperation();
                    break;
                case "*":
                    operation = new MulOperation();
                    break;
                case "/":
                    operation = new DivOperation();
                    break;
            }
            return operation;
        }
    }

      4.使用

    /**
     * 简单工厂模式的用法
     */
    public class Main {
    
        public static void main(String[] args) {
    
            Operation operation = OperationFactory.createOperation("/");
            operation.setNumA(1);
            operation.setNumB(3);
            System.out.println("值:"+operation.getResult());
    
        }
    }

    Demo: 下载地址

    是不是很容易,自己敲下就好了.

  • 相关阅读:
    C++中操作符函数
    C++中的类
    大型网站系统架构的演化
    GitHub初体验(小菜新手github用起来)
    黄聪:Adobe CS4 中文版 完美破解版下载
    WIN7下回收站不小心删除的文件怎么恢复,免费数据恢复软件下载
    PowerDesigner使用教程
    黄聪:CodeSmith和PowerDesigner的使用安装和数据库创建(原创系列教程)
    ORACLE SEQUENCE用法
    C++ DirectUI库收集
  • 原文地址:https://www.cnblogs.com/woaixingxing/p/9569419.html
Copyright © 2011-2022 走看看