1
resposta

Faça como eu fiz: Declaração de Construtores

Main

Filme filme1 = new Filme("Interestelar", 2015, "Um grupo de exploradores viaja através de um buraco de minhoca em busca de um novo lar para a humanidade.", true,8.7, "Christopher Nolan",169);
        Filme filme2 = new Filme("Tropa de Elite", 2007, "Um capitão do BOPE tenta combater o tráfico de drogas no Rio de Janeiro.", true, 8.1, "José Padilha",115 );
        Serie serie1 = new Serie("Breaking Bad", 2008, "Um professor de química se torna um fabricante de metanfetamina após ser diagnosticado com câncer.", true, 9.5, 0, 5, 13);

        Filme f1 = new Filme("Cidade de Deus", 2002);

Tenho construtores com atributos diferentes , por isso o último para testes, criei apenas com nome e data de lançamento. Nas classes ficaram dessa forma:

public Tipo(String nome, Integer anoLancamento, String sinopse, Boolean incluidoNoPlano, Double avaliacao, Integer duracaoEmMinutos) {
        this.nome = nome;
        this.anoLancamento = anoLancamento;
        this.sinopse = sinopse;
        this.incluidoNoPlano = incluidoNoPlano;
        this.avaliacao = avaliacao;
        this.duracaoEmMinutos = duracaoEmMinutos;
    }
    public Tipo(String nome, Integer anoLancamento){
        this.nome = nome;
        this.anoLancamento = anoLancamento;
    }
    
    public Filme(String nome, Integer anoLancamento, String sinopse, Boolean incluidoNoPlano, Double avaliacao, String diretor, Integer duracaoEmMinutos) {
        super(nome, anoLancamento, sinopse, incluidoNoPlano, avaliacao, duracaoEmMinutos);
        this.diretor = diretor;
    }
    public Filme(String nome, Integer anoLancamento){
        super(nome, anoLancamento);
    }
    public Serie(String nome, Integer anoLancamento, String sinopse, Boolean incluidoNoPlano, Double avaliacao,Integer duracaoEmMinutos, Integer temporadas, Integer mediaEpisodiosPorTemporada) {
        super(nome, anoLancamento, sinopse, incluidoNoPlano, avaliacao, 0);
        this.temporadas = temporadas;
        this.mediaEpisodiosPorTemporada = mediaEpisodiosPorTemporada;
        calcularTempoTotal();
    }
1 resposta

Oi, Paulo! Como vai?

Achei muito interessante como você organizou os construtores nas classes, usando sobrecarga para criar diferentes formas de instanciar seus objetos. Isso mostra um entendimento muito bom da flexibilidade na criação de objetos em Java.

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