Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Aplicando Encapsulamento

package br.com.alura.projeto.model;

public class Movie {
    private String nome;
    private int anoDeLancamento;
    private int duracaoEmMinutos;
    private double avaliacao;
    private int somaDasAvaliacoes;
    private double totalDeAvaliacoes;
    private boolean inclusoNoPlano;

    public String getNome() {
        return nome;
    }

    public int getAnoDeLancamento() {
        return anoDeLancamento;
    }

    public int getDuracaoEmMinutos() {
        return duracaoEmMinutos;
    }

    public double getAvaliacao() {
        return avaliacao;
    }

    public int getSomaDasAvaliacoes() {
        return somaDasAvaliacoes;
    }

    public double getTotalDeAvaliacoes() {
        return totalDeAvaliacoes;
    }

    public boolean isInclusoNoPlano() {
        return inclusoNoPlano;
    }

    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 setAvaliacao(double avaliacao) {
        this.avaliacao = avaliacao;
    }

    public void setSomaDasAvaliacoes(int somaDasAvaliacoes) {
        this.somaDasAvaliacoes = somaDasAvaliacoes;
    }

    public void setTotalDeAvaliacoes(double totalDeAvaliacoes) {
        this.totalDeAvaliacoes = totalDeAvaliacoes;
    }

    public void setInclusoNoPlano(boolean inclusoNoPlano) {
        this.inclusoNoPlano = inclusoNoPlano;
    }

    public void exibeDetalhes(){
        System.out.println("Filme: " + nome);
        System.out.println("ano de Lançamento: " + anoDeLancamento);
        System.out.println("Avaliação: " + avaliacao);
        System.out.println("Incluso no plano: " + inclusoNoPlano);
    }
    public void avalia(double nota){
        somaDasAvaliacoes += nota;
        totalDeAvaliacoes++;
    }
    public double pegaMedia() {
        return somaDasAvaliacoes / totalDeAvaliacoes;
    }
}


import br.com.alura.projeto.model.Movie;

public class Main {
    public static void main(String[] args) {
       Movie movie = new Movie();
       movie.setNome("As Branquelas");
       movie.setAnoDeLancamento(2002);
       movie.setDuracaoEmMinutos(180);
       movie.setInclusoNoPlano(true);
       movie.setAvaliacao(8.5);

        movie.exibeDetalhes();
        movie.avalia(5.3);
        movie.avalia(8.7);
        movie.avalia(2);
        System.out.println("total de avaliações: " + movie.getTotalDeAvaliacoes());
        System.out.println("Media: " + movie.pegaMedia());
    }
}
1 resposta
solução!

Oi, Márcio! Tudo joia?

Gostei de como você aplicou o encapsulamento para controlar o acesso aos atributos do objeto. O método exibeDetalhes() ficou claro e direto, e o uso dos getters e setters está bem estruturado.

Abraços e bons estudos!