写一个计算器,能完成加减乘除运算
定义接口做参数
加减乘除定义四个类
定义一个静态工具类,把下面的接口作为其中一个形参对象,传递夹具体的运算符类完成计算
interface ICompute{
int compute(int num1,int num2);
}
接口
**
*这是计算器的接口
*/
public interface ICompute {
/**
* 通过传递两个参数,完成运算
* @param num1 参数1
* @param num2 参数2
* @return 运算结果
*
*/
int computer(int num,int num2);
}
加法类
public class AddOper implements ICompute{
//重写,覆盖
@Override
public int computer(int num1,int num2){
return num1 + num2;
}
}
减法类
public class SubOper implements ICompute{
@Override
public int computer(int num1, int num2) {
return num1 - num2;
}
}
乘法类
public class MUiOer implements ICompute{
@Override
public int computer(int num1, int num2) {
return num1 *num2;
}
}
除法类
public class DivideOper implements ICompute{
@Override
public int computer(int num1, int num2) {
try{
return num1/num2;
}catch (Exception e){
e.printStackTrace();
}
return -1;
}
}
使用类
public class UseCompute {
public static void compute(ICompute compute,int num1,int num2 ){
//对象 调用运算的方法
int result = compute.computer(num1,num2);
//具体什么方法
System.out.println(result);
}
public static void main(String[] args) {
//传入数据
UseCompute.compute(new AddOper(),25,5);
UseCompute.compute(new SubOper(),25,5);
UseCompute.compute(new MUiOer(),25,5);
UseCompute.compute(new DivideOper(),25,5);
}
}