分享

用接口实现计算器功能

 算法与编程之美 2024-09-17 发布于四川

1 问题

如何利用接口,然后实现计算器的功能,实现加减乘除等基本功能?

2 方法

  1. 对于以上问题,我们得出解决问题的主要步骤为:
  1. 定义一个接口Calculator(计算器),其中包含方法(这里为了运算简单,我们采用的是整数型):int calculator(int n,int m)。
  2. 然后将计算器的功能以类的形式实现,实现基本的计算器功能“加减乘除”,那么我们至少要定义四个类,它们分别是Add(加),Sub(减),Multiply(乘),Div(除)。
  3. 再设计一个类UseCalculator,类中含有方法,并且此方法能够传递过来的对象调用Calculator方法实现运算,并输出运算的结果。
  4. 设计一个主类,测试Test,调用UseCalculator中的方法来完成运算“加减乘除”。

二.所运用的知识:

1.接口的使用:

  1. 一个类通过使用关键字implements 声明自己实现一个或多个接口。如果实现多个接口,用逗号隔开接口名.
  2. 如果一个类实现某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体。类实现的接口方法以及接口中的常量可以被类的对象调用。

如果父类实现了某个接口,则其子类也就自然实现这个接口。接口也可以被继承,即可以通过关键字extends声明一个接口是另一个接口的子接口。

2. 接口和抽象类的相同点:

  1. 都可包含只声明而不实现的方法,都必须在子类中实现这些方法。
  2. 都不能用new关键字创建这两种类型的对象。
  3. 都可以具有继承关系。
  4. 接口和类一样可以具有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 结语

以上是关于如何实现“用接口实现计算器的功能”的方法,比较基础简单,主要是对接口的熟悉掌握,对老师讲的知识进行复习和拓展,在以后我们会增加更多有挑战的代码,我们小组也会根据老师讲的更多内容来进行完善和补充。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多