1 问题 如何利用接口,然后实现计算器的功能,实现加减乘除等基本功能? 2 方法 - 对于以上问题,我们得出解决问题的主要步骤为:
- 定义一个接口Calculator(计算器),其中包含方法(这里为了运算简单,我们采用的是整数型):int calculator(int n,int m)。
- 然后将计算器的功能以类的形式实现,实现基本的计算器功能“加减乘除”,那么我们至少要定义四个类,它们分别是Add(加),Sub(减),Multiply(乘),Div(除)。
- 再设计一个类UseCalculator,类中含有方法,并且此方法能够传递过来的对象调用Calculator方法实现运算,并输出运算的结果。
- 设计一个主类,测试Test,调用UseCalculator中的方法来完成运算“加减乘除”。
二.所运用的知识: 1.接口的使用: - 一个类通过使用关键字implements 声明自己实现一个或多个接口。如果实现多个接口,用逗号隔开接口名.
- 如果一个类实现某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体。类实现的接口方法以及接口中的常量可以被类的对象调用。
如果父类实现了某个接口,则其子类也就自然实现这个接口。接口也可以被继承,即可以通过关键字extends声明一个接口是另一个接口的子接口。 2. 接口和抽象类的相同点: - 都可包含只声明而不实现的方法,都必须在子类中实现这些方法。
- 都不能用new关键字创建这两种类型的对象。
- 都可以具有继承关系。
- 接口和类一样可以具有public属性。
代码清单 1 public interface Calculator { //(1)定义一个接口Calculator interface Calculator{ int calculator(int n, int m); }
//(2)设计四个类分别实现此接口。 // 加 class Add implements Calculator{ public int calculator(int n, int m) { return n+m; } }
// 减 class Sub implements Calculator { public int computer(int n, int m) { return n-m; } }
// 乘 class Multiply implements Calculator{ public int Calculator(int n, int m) { return n*m; } }
// 除 class Div implements Calculator{ public int calculator(int n, int m) { if (m == 0) { System.out.println("除数不能为零。"); return 0; } return n/m; } } //(3)设计一个类UseCompute, class UseCalculator { public void useCom(Computer com, int one, int two){ String operator = null; if (com instanceof Add) { operator = "+"; }else if (com instanceof Sub) { operator = "-"; }else if (com instanceof Multiply) { operator = "*"; }else if (com instanceof Div) { operator = "/"; } System.out.println(one + " " + operator + " " + two + " = " +com.computer(one,two)); } } //(4)设计一个主类Test public class UseCalculatorTest { public static void main(String[] args) { UseCalculator useCalculator = new UseCalculator(); useCalculator.useCom(new Add(),10,5); useCalculator.useCom(new Sub(),10,5); useCalculator.useCom(new Multiply(),10,5); useCalculator.useCom(new Div(),10,5); } }
} |
3 结语 以上是关于如何实现“用接口实现计算器的功能”的方法,比较基础简单,主要是对接口的熟悉掌握,对老师讲的知识进行复习和拓展,在以后我们会增加更多有挑战的代码,我们小组也会根据老师讲的更多内容来进行完善和补充。
|