题目的要求:(1)定义一个接口ICompute,含有方法int computer(int n,int m)。(2)设计四个类分别实现此接口, 完成加减乘除运算。(3)设计一个类UseCompute ,类中含有方法public void useCom(Icompute com,int one,int two)此方法能够用传递过来的对象调用computer方法完成运算,并输出运算的结果。
目录
一、接口的定义:接口是一种抽象的数据类型,它只包含方法的声明,不包含方法的实现。因此,在接口中定义的方法都是抽象的,不能有具体的实现。
二、四个实现类(Add、Except、Multiply、Subtract)
三、设计一个UseCompute类 ,类中含有方法:public void useCom(Icompute com,int one,int two)
四、测试类,调用UseCompute中的方法useCom来完成加减乘除运算。
(4)设计-个主类Test ,调用UseCompute中的方法useCom来完成加减乘除运算
一、接口的定义:接口是一种抽象的数据类型,它只包含方法的声明,不包含方法的实现。因此,在接口中定义的方法都是抽象的,不能有具体的实现。
接口的优势:
● 接口可以实现多继承,可以让一个类实现多个接口。
● 接口可以实现代码的解耦,可以将具体实现和接口分离。
● 接口可以实现代码的扩展性,可以在不修改接口的情况下扩展接口的实现。
● 接口可以实现代码的灵活性,可以在运行时动态地实现接口。
1、定义一个接口ICompute,含有方法int computer(int n,int m)
public interface ICompute {
int couputer(int n,int m)throws Exception;
}
二、四个实现类(Add、Except、Multiply、Subtract)
Add类:这个类Add
是一个简单的加法实现,它实现了ICompute
接口并重写了其方法。当你需要执行加法运算时,你可以创建一个Add
类的实例并调用其方法。
public class Add implements ICompute{
@Override
public int couputer(int n,int m) {
return n+m;
}
}
Subtract类:
这个类Subtract
是一个简单的减法实现,它实现了ICompute
接口并重写了其方法。当你需要执行减法运算时,你可以创建一个Subtract
类的实例并调用其方法。
public class Subtract implements ICompute{
@Override
public int couputer(int n,int m) {
return n-m;
}
}
Multiply类:这个类Multiply
是一个简单的乘法实现,它实现了ICompute
接口并重写了其方法。当你需要执行乘法运算时,你可以创建一个Multiply
类的实例并调用其方法。
public class Multiply implements ICompute{
@Override
public int couputer(int n,int m) {
// TODO 自动生成的方法存根
return n*m;
}
}
Except类:这个类Except
是一个简单的除法实现,它实现了ICompute
接口并重写了其方法。但有一些命名和类型不一致的问题需要解决。当你需要执行除法运算时,你可以创建一个Except
类的实例并调用其方法,但要注意除数不能为0。
public class Except implements ICompute{
@Override
public int couputer(int n,int m) throws Exception {
if (m==0) {
throw new Exception("m不能为0");
} else {
return n/m;
}
}
}
三、设计一个UseCompute类 ,类中含有方法:public void useCom(Icompute com,int one,int two)
-
这是一个公开的静态方法,名为
useCom
。 -
它接受三个参数:
-
一个实现了
ICompute
接口的对象(名为com
)。 -
两个整数(名为
one
和two
)
-
System.out.println(com.couputer(one, two));
这行代码尝试使用ICompute
接口的实例(即com
对象)来执行计算
System.out.println(e.getMessage());
-
如果在尝试执行计算时抛出异常,这行代码将捕获该异常并打印其消息到控制台。
-
e.getMessage()
返回异常的消息文本。
这个类UseCompute
提供了一个静态方法,允许你使用任何实现了ICompute
接口的对象来执行计算,并将结果或异常消息打印到控制台。
public class UseCompute {
public static void useCom(ICompute com,int one,int two){
try {
System.out.println(com.couputer(one, two));
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
四、测试类,调用UseCompute中的方法useCom来完成加减乘除运算。
创建一个Multiply
类的实例(对象)并将其引用赋给变量m1
调用UseCompute
类的useCom
方法,并传递m1
对象、整数6和整数7作为参数。这会执行乘法运算6乘以7,并将结果打印到控制台。
创建一个Except
类的实例(对象)并将其引用赋给变量e1
。
调用UseCompute
类的useCom
方法,并传递e1
对象、整数27和整数9作为参数。这会执行除法运算27除以9,并将结果打印到控制台。
创建一个Subtract
类的实例(对象)并将其引用赋给变量s1
。
调用UseCompute
类的useCom
方法,并传递s1
对象、整数32和整数12作为参数。这会执行减法运算32减去12,并将结果打印到控制台。
public class TestCompute {
public static void main(String[] args) {
Multiply m1=new Multiply();
UseCompute.useCom(m1,6,7);
Except e1=new Except();
UseCompute.useCom(e1, 27, 9);
Add a1=new Add();
UseCompute.useCom(a1, 33, 22);
Subtract s1=new Subtract();
UseCompute.useCom(s1, 32, 12);
}
}
以下是运行出来的结果:
加法的结果是:42
减法的结果是:3
乘法的结果是:55
除法的结果是:20
五、结论
TestCompute
类是一个用于测试的类,它通过调用UseCompute
类的useCom
方法,使用四个不同的计算类(Multiply
、Except
、Add
和Subtract
)来执行不同的计算,并将结果打印到控制台。这些计算类都实现了ICompute
接口,因此它们可以传递给useCom
方法进行计算。这个测试类展示了如何使用这些计算类,并通过调用静态方法进行操作,从而实现了不同的计算功能。