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);
    		}
    	}
    
    }
    

      

  • 相关阅读:
    window.onload 、body.onload 以及 jQuery 等dom加载完成后执行脚本的区别
    HTML5事件-pageshow 和 pagehide
    动态加载script 和 link
    递归 recursive
    HTML5事件-自定义右键菜单
    left与margin-left区别
    偏移量、客户区、滚动大小
    屏幕适配
    KVC和KVO
    HUD总结
  • 原文地址:https://www.cnblogs.com/bb1008/p/6763584.html
Copyright © 2011-2022 走看看