设计模式简单的来说,就是代码段的一段代码分割出去写在可调用的类中。作用就是使代码更加清晰以及管理。
例子:
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);
}
}
}