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