zoukankan      html  css  js  c++  java
  • java 学习当中我遇到的第一个设计模式-----王志亭

    设计模式简单的来说,就是代码段的一段代码分割出去写在可调用的类中。作用就是使代码更加清晰以及管理。

    例子:

    1,,设计抽象父类,包含两个数字及抽象方法。

    2,
    设计四个子类,包含四个运算符
    3,
    在创建一个类,包含选择运算符的代码段
    4,
    调用及输出
    注意:本例子中把选择运算符的代码段分割出 MyMain 方法,这就是一个设计模式。
    设计抽象父类,包含两个数字及抽象方法。
    package cn.day2;
    
    public abstract class Operation {
    	public int numLeft;
    	public int numRight;
    	public abstract int cale();
    }
    
    
    设计四个子类,包含四个运算符
    package cn.day2;
    
    public class add extends Operation {
    
    	@Override
    	public int cale() {
    
    		return this.numLeft+this.numRight;
    	}
    
    }
    package cn.day2;
    
    public class Div extends Operation{
    
    	@Override
    	public int cale() {
    		
    		return this.numLeft/this.numRight;
    	}
    
    }
    package cn.day2;
    
    public class Mu extends Operation {
    
    	@Override
    	public int cale() {
    
    		return this.numLeft*this.numRight;
    	}
    
    }
    package cn.day2;
    
    public class Sub extends Operation {
    
    	@Override
    	public int cale() {
    
    		return this.numLeft-this.numRight;
    	}
    
    }
    
    在创建一个类,包含选择运算符的代码段
    package cn.day2;
    
    public class OperationFactoray {
    	public static Operation getInstands(String oper){
    		//定义一个父类
    				Operation caculator=null;
    				
    				switch (oper) {
    				case "+":
    					caculator=new add();
    					break;
    				case "-":
    					caculator=new Sub();
    					break;
    				case "*":
    					caculator=new Mu();
    					break;
    				case "/":
    					caculator=new Div();
    					break;
    				}
    				return caculator;
    	}
    }
    
    调用及输出
    package cn.day2;
    
    import java.util.Scanner;
    
    public class Mymain {
    
    	public static void main(String[] args) {
    		@SuppressWarnings("resource")
    		Scanner in=new Scanner(System.in);
    		while(true){
    		System.out.println("请输入第一个数字:");
    		int num1=in.nextInt();
    		
    		System.out.println("亲,请输入运算符");
    		String oper= in.next();
    		
    
    		System.out.println("亲,请输入第2个操作数");
    		int num2 = in.nextInt();
    		Operation caculator = OperationFactoray.getInstands(oper);
    		caculator.numLeft=num1;
    		caculator.numRight=num2;
    		int result = caculator.cale();
    		System.out.println("我得到的数字是:"+result);
    		}
    	}
    
    }
    

      

  • 相关阅读:
    HTML5 完美解决javascript中iphone手机和android手机复制文本到剪切板问题
    去除移动端alert/confirm的网址(url)
    项目通过tomcat部署到服务器,请求数据中文乱码问题
    JEECG中表单提交的中断
    mysql数据库1129错误
    java中比较两个double类型值的大小
    spring配置上传文件大小
    GET方式,获取服务器文件
    java中多个数字运算后值不对(失真)处理方法
    V-rep学习笔记:关节力矩控制
  • 原文地址:https://www.cnblogs.com/bb1008/p/6763584.html
Copyright © 2011-2022 走看看