1
resposta

Encapsulando o projeto

public class Filme { private String nome; private int anoDeLancamento; private boolean incluidoNoPlano; private double somaDasAvaliacoes; private int totalDeAvaliacoes; private int duracaoEmMinutos;

public int getDuracaoEmMinutos() {
    return duracaoEmMinutos;
}

public String getNome() {
    return nome;
}

public int getAnoDeLancamento() {
    return anoDeLancamento;
}


public double getSomaDasAvaliacoes() {
    return somaDasAvaliacoes;
}

public int getTotalDeAvaliacoes() {
    return totalDeAvaliacoes;
}

public void setNome(String nome) {
    this.nome = nome;
}

public void setAnoDeLancamento(int anoDeLancamento) {
    this.anoDeLancamento = anoDeLancamento;
}

public void setIncluidoNoPlano(boolean incluidoNoPlano) {
    this.incluidoNoPlano = incluidoNoPlano;
}

public void setDuracaoEmMinutos(int duracaoEmMinutos) {
    this.duracaoEmMinutos = duracaoEmMinutos;
}

public boolean isIncluidoNoPlano() {
    return incluidoNoPlano;
}

void exibeFichaTecnica() {
    System.out.println("Nome do filme: " + nome);
    System.out.println("Ano de lançamento: " + anoDeLancamento);
}

void avalia(double nota) {
    somaDasAvaliacoes += nota;
    totalDeAvaliacoes++;
}

double pegaMedia() {
    return somaDasAvaliacoes / totalDeAvaliacoes;
}

}

public class Main { public static void main(String[] args) { Filme meuFilme = new Filme(); meuFilme.setNome("Star Wars"); meuFilme.setAnoDeLancamento(1979); meuFilme.setDuracaoEmMinutos(120);

    meuFilme.exibeFichaTecnica();
    meuFilme.avalia(8);
    meuFilme.avalia(9);
    meuFilme.avalia(7);
    System.out.println(meuFilme.getSomaDasAvaliacoes());
    System.out.println("Total de avaliações: " + meuFilme.getTotalDeAvaliacoes());
    System.out.println(meuFilme.pegaMedia());
}

}

1 resposta

Oii, Enio. Tudo bem?

Boa! O encapsulamento ajuda a proteger os dados e a manter a integridade dos objetos.

Parabéns por colocar isso em prática.

Continue os bons estudos.

Um abraço.