1
resposta

Aplicando polimorfismo com herança no Screenmacth

Main

import modulos.main.Filme;
import modulos.main.Series;
import modulos.main.Titulos;
import calculadoraDeTempos.main.calculadora;

public class Main {
    public static void main(String[] args) {

        System.out.println("Movie infos\n");
        System.out.println("Available Movies:\n");

        Filme movie = new Filme();

        movie.setName("Até o último Homem");
        movie.setLaunchYear(2016);
        movie.setTime(138);
        movie.setType("Drama");
        movie.setDirector("Mel Gibson");
        movie.setWhereToWatch("HBOMax");

//        movie.movieTechData();
        movie.techData();

        System.out.println("\nAvailable series:\n");

        Series series = new Series();

        series.setName("Breaking Bad");
        series.setLaunchYear(2008);
        series.setType("Drama");
        // series.setTime(50);
        series.setSeasons(5);
        series.setEpPerSeason(13);
        series.setTimePerEp(50);

        series.techData();

        calculadora calculadora = new calculadora();

        calculadora.inclui(movie);
        calculadora.inclui(series);

        System.out.println("\nEstimated time to watch " + movie.getName() + " and " + series.getName() +": " + calculadora.getTempoTotal() + "m");

    }
}
Classe Series:

package modulos.main;

public class Series extends Titulos{
    private int seasons;
    private int epPerSeason;
    private int timePerEp;

    public int getSeasons() {
        return seasons;
    }

    public void setSeasons(int seasons) {
        this.seasons = seasons;
    }

    public int getEpPerSeason() {
        return epPerSeason;
    }

    public void setEpPerSeason(int epPerSeason) {
        this.epPerSeason = epPerSeason;
    }

    public int getTimePerEp() {
        return timePerEp;
    }

    public void setTimePerEp(int timePerEp) {
        this.timePerEp = timePerEp;
    }

    public int getTime() {
        return seasons * epPerSeason * timePerEp;
    }

    @Override
    public void techData() {
        super.techData();
        System.out.println("Season: " + getSeasons());
        System.out.println("Episodes per season: " + getEpPerSeason());
    }
}
Classe Filme:

package modulos.main;

public class Filme extends Titulos {
    private String director;
    private String whereToWatch;

    public String getDirector() {
        return director;
    }

    public void setDirector(String director) {
        this.director = director;
    }

    public String getWhereToWatch() {
        return whereToWatch;
    }

    public void setWhereToWatch(String whereToWatch) {
        this.whereToWatch = whereToWatch;
    }

    /*public void movieTechData() {
        System.out.println("Name: " + getName());
        System.out.println("Lauch Year: " + getLaunchYear());
        System.out.println("Duration time: " + getTime());
        System.out.println("Gender: " + getType());
    }*/
}
Classe Calculadora:

package calculadoraDeTempos.main;

import modulos.main.Filme;
import modulos.main.Series;
import modulos.main.Titulos;

public class calculadora {
    private int tempoTotal = 0;
    public int getTempoTotal() { return this.tempoTotal;}
    public void inclui(Titulos titulos){
        this.tempoTotal += titulos.getTime();
    }

}
1 resposta

Olá Maylon! Como vai?

Dei uma olhada no seu código e ele está bem organizado e condizente com o que foi passado pelo instrutor, e isso mostra o seu comprometimento com o curso.

Caso surjam quaisquer dúvidas eu estarei à sua disposição.

Abraços e bons estudos!