Deem uma olhada nesse meu codigo pois porque não e necessario por a soma das avaliações e se fosse essa forma como fiz de apenas ser um metodo acessor esta correto?
public class Filme {
String nome;
int anoDeLancamento;
boolean incluidoNoPlano;
// modificadores de acesso forma de encapsulamento
private double somaDasAvaliacoes;
private int totalDeAvaliacoes;
int duracaoEmMinutos;
// METODO DE ACESSO
int getTotalDeAvaliacoes(){return totalDeAvaliacoes;}
double getSomaDasAvaliacoes(){return somaDasAvaliacoes;}
// metodo void vazio sem retorno
void exibeFichaTecnica(){
System.out.println("Nome do filme: " + nome);
System.out.println("O ano de lançamento do Filme:" + anoDeLancamento);
}
// metodo vazio pois apenas registramos algum atributo sem retorni=o de valor e damos o argumento
void avalia(double nota /* nome do argumento double parametro tipo de atributo que esta na variavel */){
somaDasAvaliacoes += nota;
totalDeAvaliacoes++;
}
// metodo retorna media ja nao e vazio usamos o return para retorna a media
double pegaMedia() {
return somaDasAvaliacoes / totalDeAvaliacoes;
}
}
import javax.swing.*;
public class Principal { public static void main(String[] args) { Filme meuFilme = new Filme();
meuFilme.nome = "O poderoso chefão!";
meuFilme.anoDeLancamento = 1980;
// meuFilme.somaDasAvaliacoes = 8.4;
meuFilme.duracaoEmMinutos = 160;
// metodo exibiFichaTecnica
meuFilme.exibeFichaTecnica();
// metodo avalia
meuFilme.avalia(8);
meuFilme.avalia(5);
meuFilme.avalia(100);
meuFilme.avalia(10);
// metodo pegaMedia
System.out.println(meuFilme.getTotalDeAvaliacoes());
System.out.println(meuFilme.getSomaDasAvaliacoes());
System.out.println(meuFilme.pegaMedia());
}
}
Seria correto esse meu metodo se eu quisesse que ele seja apenas para acesso e nao atribuir nada a ele?