В этом случае нет необходимости в шаблоне проектирования, но достаточно использовать полиморфизм. Измените класс Operator следующим образом:
public abstract class Operator {
protected int a;
protected int b;
public Operator(int a, int b){
this.a = a;
this.b = b;
}
public abstract float calculate();
public void print() {
System.out.println("This is the result : " + this.calculate());
}
}
А затем реализуйте его с помощью классов Minus и Plus:
public class Plus extends Operator{
public Plus(int a, int b) {
super(a, b);
}
@Override
public float calculate() {
return this.a + this.b;
}
}
public class Minus extends Operator{
public Minus(int a, int b) {
super(a, b);
}
@Override
public float calculate() {
return this.a - this.b;
}
}
Это класс Main для теста:
public class Main {
public static void main(String[] args) {
Operator minus = new Minus(5,2);
minus.print(); // prints: This is the result : 3.0
Operator plus = new Plus(5,2);
plus.print(); // prints: This is the result : 7.0
}
}