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

Desafio - aula encapsulamento

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


    public String getNome() {
        return nome;
    }

    public int getAnoLancamento() {
        return anoLancamento;
    }

    public boolean isIncluidoNoPlano() {
        return incluidoNoPlano;
    }

    public int getDuracaoEmMinutos() {
        return duracaoEmMinutos;
    }

    public double getSomaDasAvaliacoes() {
        return somaDasAvaliacoes;
    }

    public int getTotalDeAvaliacoes() {
        return totalDeAvaliacoes;
    }

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

    public void setAnoLancamento(int anoLancamento) {
        this.anoLancamento = anoLancamento;
    }

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

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

    public void exibeFichaTecnica() {
        System.out.println("Nome do filme: " + nome);
        System.out.println("Ano de lançamento: " + anoLancamento);
        System.out.println("Duração em minutos: " + duracaoEmMinutos);

        if (incluidoNoPlano == true) {
        System.out.println("Incluído no plano: sim");
        } else {
            System.out.println("Não incluido no plano");
        }

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

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

}
public class Principal {
    public static void main(String[] args) {
        Filme meuFilme = new Filme();
        meuFilme.setNome("Matrix");
        meuFilme.setAnoLancamento(1990);
        meuFilme.setDuracaoEmMinutos(180);
        meuFilme.setIncluidoNoPlano(false);

        meuFilme.exibeFichaTecnica();
        meuFilme.avalia(9);
        meuFilme.avalia(7);
        meuFilme.avalia(10);
        System.out.println("Soma das avaliações: " +meuFilme.getSomaDasAvaliacoes());
        System.out.println("Total das avaliações: " +meuFilme.getTotalDeAvaliacoes());
        System.out.println("Média de avaliações: " +meuFilme.pegaMedia());
    }
}
1 resposta
solução!

Oi, Gilvaneide! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

O código que você escreveu está muito bem estruturado! A utilização dos métodos get e set para acessar e modificar as propriedades da classe Filme está muito boa, garantindo que o acesso aos dados seja controlado e seguro.

💡 Uma dica interessante para o futuro é usar o método toString(), que pode ser sobrecarregado para retornar uma representação mais legível do objeto. Isso pode tornar a exibição dos dados mais organizada. Veja como ficaria:


@Override 
public String toString() { 
    return "Nome do filme: " + nome + "\nAno de lançamento: " + anoLancamento + "\nDuração: " + duracaoEmMinutos + " minutos"; 
}

Isso permite que você simplesmente chame System.out.println(meuFilme) em vez de escrever cada linha separada.

Abraços e até mais!

Alura

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