1
resposta

[Projeto] Faça como eu fiz: Encapsulando o projeto

Minha versão dos programas durantes as aulas:

Classe Filme:

package br.com.alura.screenmatch.modelos;

public class Filme{
    private String nome;
    private int anoDeLancamento;
    private double duracaoEmMinutos;
    private double somaDasAvaliacoes = 0;
    private double totalAvaliacoes = 0;
    private double resultadoAvaliacoes;
    private boolean incluidoNoPlano;


    public void exibirFichaTecnica(){
        System.out.println("Nome do Filme: " + nome +
                "\nAno de Lançamento: " + anoDeLancamento +
                "\nDuração (Em Minutos): " + duracaoEmMinutos +
                "\nAvaliação: " + resultadoAvaliacoes +
                "\nIncluído no Plano: " + incluidoNoPlano);
    }

    public String getNome(){
        return this.nome;
    }

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

    public int getAnoDeLancamento(){
        return this.anoDeLancamento;
    }

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

    public boolean getIncluidoNoPlano() {
        return incluidoNoPlano;
    }

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

    public double getDuracaoEmMinutos(){
        return this.duracaoEmMinutos;
    }

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

    public double getTotalAvaliacoes(){
        return this.totalAvaliacoes;
    }

    public void avaliarFilme(double notaDoFilme){
        totalAvaliacoes++;
        somaDasAvaliacoes += notaDoFilme;
    }

    public double pegarMedia(){
        resultadoAvaliacoes = somaDasAvaliacoes / totalAvaliacoes;
        return resultadoAvaliacoes;
    }
}

Classe Principal:

import br.com.alura.screenmatch.modelos.Filme;

import java.util.Scanner;
public class Principal{
    public static void main(String[] args){
        Scanner leitura = new Scanner(System.in);

        Filme novoFilme = new Filme();
        novoFilme.setNome(leitura.nextLine());
        novoFilme.setAnoDeLancamento(leitura.nextInt());
        novoFilme.setDuracaoEmMinutos(leitura.nextDouble());
        novoFilme.setIncluidoNoPlano(leitura.nextBoolean());

        novoFilme.avaliarFilme(9);
        novoFilme.avaliarFilme(6);
        novoFilme.pegarMedia();
        novoFilme.exibirFichaTecnica();
        System.out.println("Total de Avaliações: " + novoFilme.getTotalAvaliacoes());

        leitura.close();
    }
}

1 resposta

Oi, Luan! Como vai?

Seu projeto ficou bem organizado e mostra que você aplicou bem o conceito de encapsulamento. Gostei especialmente do método exibirFichaTecnica(), que resume bem os dados do objeto de forma clara.

Bons estudos!