Java模板——实现一个简易的计算器
在编程中,我们经常会遇到需要重复编写相同代码的情况,为了解决这个问题,我们可以使用模板,模板是一种预定义的代码结构,可以用于生成具有相似结构的代码,在Java中,我们可以使用泛型和抽象类来实现模板,本文将介绍如何使用Java模板实现一个简易的计算器。
我们需要创建一个抽象类Calculator
,用于定义计算器的通用行为,在这个类中,我们将定义一个抽象方法calculate
,用于执行计算操作,我们还需要定义两个泛型参数T
和U
,分别表示输入数据的类型和输出数据的类型。
public abstract class Calculator<T, U> { public abstract U calculate(T input); }
接下来,我们需要为不同类型的计算器创建子类,我们可以创建一个加法计算器AdditionCalculator
和一个减法计算器SubtractionCalculator
,这两个类都需要继承自Calculator
类,并实现calculate
方法。
public class AdditionCalculator extends Calculator<Integer, Integer> { @Override public Integer calculate(Integer input) { return input + 1; } } public class SubtractionCalculator extends Calculator<Integer, Integer> { @Override public Integer calculate(Integer input) { return input - 1; } }
现在,我们可以使用这些计算器来执行计算操作,我们可以创建一个加法计算器对象,并使用它来计算两个整数的和:
public static void main(String[] args) { AdditionCalculator addition = new AdditionCalculator(); int result = addition.calculate(5); System.out.println("5 + 1 = " + result); // 输出:5 + 1 = 6 }
同样,我们也可以使用减法计算器来计算两个整数的差:
public static void main(String[] args) { SubtractionCalculator subtraction = new SubtractionCalculator(); int result = subtraction.calculate(5); System.out.println("5 - 1 = " + result); // 输出:5 - 1 = 4 }
通过这种方式,我们可以很容易地为其他类型的计算器创建子类,而无需重复编写相同的代码,这就是Java模板的强大之处。
还没有评论,来说两句吧...