1
resposta

[Projeto] Faça como eu fiz: projeto com orientação a objetos

Primeira Classe

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

    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;
    }
}

Segunda Classe

public class Principal {
    public static void main(String[] args) {
        Filme meuFilme = new Filme();
        meuFilme.nome = "Carros 2";
        meuFilme.anoDeLancamento = 2011;
        meuFilme.duracaoEmMinutos = 106;

        meuFilme.exibeFichaTecnica();
        meuFilme.avalia(8);
        meuFilme.avalia(5);
        meuFilme.avalia(10);
        System.out.println(meuFilme.somaDasAvaliacoes);
        System.out.println(meuFilme.totalDeAvaliacoes);
        System.out.println(meuFilme.pegaMedia());


    }
}
1 resposta

Oi, Gabriel! Como vai?

Curti a forma como você estruturou as classes e separou bem as responsabilidades, com métodos claros como avalia e pegaMedia, o que já mostra um bom entendimento de orientação a objetos.

Uma dica interessante para o futuro é proteger melhor seus atributos usando encapsulamento com private e criar métodos getters/setters, o que ajuda a manter o controle dos dados:


public class Filme {
    private String nome;

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

    public String getNome() {
        return nome;
    }
}

Esse código evita acesso direto aos atributos e melhora a organização do programa.

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