题目
利用接口做参数,写个计算器,能完成±*/运算
(1)定义一个接口Compute含有一个方法int computer(int n,int m);
(2)设计四个类分别实现此接口,完成±*/运算
(3)设计一个类UseCompute,含有方法:
public void useCom(Compute com, int one, int two)
此方法要求能够:
- 用传递过来的对象调用computer方法完成运算
- 输出运算的结果
(4)设计一个测试类,调用UseCompute中的方法useCom来完成±*/运算
实现
public interface Compute {
int computer(int n,int m);
}
public class Jia implements Compute {
@Override
public int computer(int n, int m) {
return n+m;
}
}
public class Jian implements Compute {
@Override
public int computer(int n, int m) {
return n-m;
}
}
public class Cheng implements Compute {
@Override
public int computer(int n, int m) {
return n*m;
}
}
public class Chu implements Compute {
@Override
public int computer(int n, int m) {
return n/m;
}
}
public class UseCompute {
//接口作为参数
public void useCom(Compute com, int one, int two)
{
System.out.println(com.computer(one, two));
}
}
public class TestCeshi {
public static void main(String[] args) {
UseCompute a =new UseCompute();
//实参传具体接口的实现
a.useCom(new Jia(), 2, 2);
a.useCom(new Jian(), 2, 2);
a.useCom(new Cheng(), 2, 2);
a.useCom(new Chu(), 2, 2);
Compute aa =new Jia();
System.out.println(aa.computer(3,5));
}
}
参考:
https://www.cnblogs.com/zs6666/p/5911122.html(Java基础-继承 利用接口做参数,写个计算器,能完成±*/运算)