content: // Interface que define a estratégia (algoritmo)
  interface Estrategia {
      int executar(int a, int b);
  }
  
  // Estratégia concreta: soma
  class Soma implements Estrategia {
      public int executar(int a, int b) {
          return a + b;
      }
  }
  
  // Estratégia concreta: subtração
  class Subtracao implements Estrategia {
      public int executar(int a, int b) {
          return a - b;
      }
  }
  
  // Contexto que usa uma estratégia
  class Calculadora {
      private Estrategia estrategia;
  
      // Define a estratégia a ser usada
      public void setEstrategia(Estrategia estrategia) {
          this.estrategia = estrategia;
      }
  
      // Executa a estratégia com os dados fornecidos
      public int calcular(int a, int b) {
          return estrategia.executar(a, b);
      }
  }
  
  // Classe principal de teste
  public class Main {
      public static void main(String[] args) {
          Calculadora calc = new Calculadora();
  
          calc.setEstrategia(new Soma());
          System.out.println("Soma: " + calc.calcular(5, 3));
  
          calc.setEstrategia(new Subtracao());
          System.out.println("Subtração: " + calc.calcular(5, 3));
      }
  }
  