1
resposta

Dúvida referente ao método

Boa noite, professores! Tudo bem?

Fiquei com dúvida referente ao método criado na aula, que ficou com o seguinte código:
public void avalia(double nota) {
somaDasAvaliacao += nota;
totalDeAvaliacoes++;
}

Queria entender porque ele se chama "avalia" e não avaliacao(double nota)...?

Como instanciamos o somaDasAvaliacoes no início, tinha entendido que ele deveria ser chamado assim no método.

1 resposta

Olá, Vinicius! Tudo bem? Excelente pergunta! Essa é uma dúvida muito comum e super importante quando estamos começando a aprender Orientação a Objetos.

Indo direto ao ponto: a diferença nos nomes tem a ver com o que cada coisa representa dentro do seu código. A regra geral em Java (e nas boas práticas de programação) é a seguinte:

  • Métodos são AÇÕES (Verbos): Eles representam algo que o seu objeto faz. Por isso usamos avalia (do verbo avaliar), calculaMedia ou exibeFichaTecnica.

  • Atributos/Variáveis são CARACTERÍSTICAS (Substantivos): Eles representam os dados que o seu objeto tem ou guarda. Por isso usamos nomes como nota, somaDasAvaliacoes e totalDeAvaliacoes.

Por que não chamar o método de somaDasAvaliacoes?
Porque somaDasAvaliacoes não é uma ação, é uma variável (um atributo) da sua classe.

O método avalia(double nota) é a ação do usuário dar uma nota para o filme. Quando essa ação acontece, o que o método faz por trás dos panos? Ele pega o valor dessa nota e atualiza as variáveis que guardam os dados: a somaDasAvaliacoes e o totalDeAvaliacoes.

Resumindo a lógica da aula:

Ação: O usuário avalia o filme passando uma nota (método avalia).

Consequência: Essa nota altera os dados do filme, somando o valor no atributo somaDasAvaliacoes.

Uma dica de ouro: Sempre que for criar um método, pergunte a si mesmo: "Isso é uma ação ou comportamento que meu objeto está executando?". Se a resposta for sim, use sempre um verbo!

Espero que isso ajude a clarear a forma como você enxerga as classes. Bons estudos!