1
resposta

[Projeto] Encapsulamento de Metodos e Atributos

package br.com.alura.screenmatch.modelos;

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


    public String getNome() {
        return nome;
    }

    public boolean isIncluidoNoPlano() {
        return incluidoNoPlano;
    }

    public int getAnoDeLancamento() {
        return anoDeLancamento;
    }

    public int getDuracaoEmMinutos() {
        return duracaoEmMinutos;
    }

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

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

    public double returnaMedia() {
        return somaDasAvaliacoes / totalDeAvaliacoes;
    }

    public int getTotalDeAvaliacoes() {
        return totalDeAvaliacoes;
    }

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

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

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

    public void setIncluidoNoPlano(boolean incluidoNoPlano) {
        this.incluidoNoPlano = incluidoNoPlano;
    }
}
import br.com.alura.screenmatch.modelos.Filme;

public class Principal {
    public static void main(String[] args) {
        Filme meuFilme = new Filme();
        meuFilme.setNome("Kikc Ass (chuta cú)");
        meuFilme.setAnoDeLancamento(2010);
        meuFilme.setDuracaoEmMinutos(180);

        meuFilme.avalia(4);
        meuFilme.avalia(6);
        meuFilme.avalia(6);
        meuFilme.avalia(8);
        meuFilme.avalia(6);
        meuFilme.avalia(9);
        meuFilme.avalia(10);
        meuFilme.avalia(5);
        meuFilme.avalia(5);
        meuFilme.avalia(5);
        meuFilme.avalia(5);
        meuFilme.avalia(5);
        meuFilme.avalia(5);
        meuFilme.avalia(5);
        meuFilme.avalia(5);
        meuFilme.avalia(5);

        meuFilme.exibeFichaTecnica();
        System.out.println("Total de Avaliações: " + meuFilme.getTotalDeAvaliacoes());
        System.out.println("Media das Avaliaçoes: " + meuFilme.returnaMedia());

    }
}
1 resposta

Oii, Vinicius.

Agradeço por compartilhar seu código.

Gostei de como você aplicou o encapsulamento com getters e setters, deixando os atributos privados e expondo apenas o que é necessário. Também é legal ver que você já está usando um método para calcular a média das avaliações.

Continue firme nos estudos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!