1
resposta

Dúvida sobre atributos e classes

Não entendi pq as classes Scanner e ConsumoApi foram para cima do método como atributos, é a primeira vez que eu vejo dessa forma. Outra diferença é a classe principal não ser mais a main mas uma classe para exibir o menu, pq ela é a principal e não a classe "ScreenmatchApplication" ?

1 resposta

E aí! Então, saca só: a gente coloca as classes Scanner e ConsumoApi dentro da classe Principal pra facilitar a vida. Assim, não precisamos ficar criando novas instâncias toda hora que chamamos um método. É tipo manter a casa arrumada, sabe?

Olha só esse código maneiro aqui embaixo. Usamos o Scanner pra pegar o que o usuário digita e o ConsumoApi pra pegar dados da API. Ambos são "chamados" uma vez e ficam disponíveis pra qualquer função dentro da classe Principal.

public class Principal {

    private Scanner leitura = new Scanner(System.in); 
    private ConsumoApi consumo = new ConsumoApi();
    
    private final String ENDERECO = "https://www.omdbapi.com/?t=";
    private final String API_KEY = "&apikey=6585022c";

    public void exibMenu(){
            System.out.println("Fala aí! Digita o nome da série que quer procurar:");
            var nomeSerie = leitura.nextLine();
            var json = consumo.obterDados(ENDERECO + nomeSerie.replace(" ", "+") + API_KEY);
    }
}

E sobre a parada da classe Principal ser "principal", é isso mesmo. Ela manda no rolê, é a que dita o ritmo. A classe "ScreenmatchApplication" tá lá, firme e forte, mas a Principal é a que comanda o show, sabe?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software