举一个例子不含 0 展示上述代码执行过程
时间: 2024-10-25 13:05:18 浏览: 7
Aspose.Cells官方例子程序
假设我们有一个简单的数学运算场景,比如计算两个数的加法,我们用多态的方式来设计一个加法接口`Adder`,然后提供几个实现类:
```java
// 定义一个抽象加法接口
interface Adder {
int add(int a, int b);
}
// 实现类一:基本整数加法
class BasicAdder implements Adder {
@Override
public int add(int a, int b) {
return a + b;
}
}
// 实现类二:小数加法(这里为了简化,忽略浮点数精度)
class DecimalAdder implements Adder {
@Override
public int add(int a, int b) {
// 将小数转换为整数相加,忽略精度问题
return Math.round((double)a + (double)b);
}
}
// 主程序部分
public class Main {
public static void main(String[] args) {
Adder adder = new BasicAdder(); // 使用基本整数加法
System.out.println("Sum using BasicAdder: " + adder.add(5, 7));
adder = new DecimalAdder(); // 更改添加器为小数加法
System.out.println("Sum using DecimalAdder: " + adder.add(3.5, 4.6)); // 小数会先转为整数再相加
}
}
```
在这个例子中,虽然`DecimalAdder`实现了`Adder`接口,但在主程序中我们可以动态地选择使用哪种类型的加法器。这就是多态的应用,它允许我们在运行时根据需要切换操作的具体实现。
阅读全文