Bom dia, Antonio! Tudo bem?
Fico feliz em saber que você está gostando do curso e aprendendo bastante sobre Orientação a Objetos! Sobre a sua dúvida, a melhor forma de implementar a função exibeFichaTecnica()
depende do design do seu sistema.
No contexto que você mencionou, onde filmes e séries compartilham várias características, faz sentido usar a herança para evitar código repetido. Você pode criar uma classe base chamada Titulo
, que contém todos os atributos e métodos comuns, incluindo o método exibeFichaTecnica()
. Assim, tanto a classe Filme
quanto a classe Serie
podem herdar de Titulo
e ter suas próprias implementações específicas, se necessário.
Por exemplo, na classe Titulo
, você pode implementar o método exibeFichaTecnica()
de forma genérica:
public class Titulo {
private String nome;
private int anoDeLancamento;
public void exibeFichaTecnica() {
System.out.println("Nome: " + nome);
System.out.println("Ano de lançamento: " + anoDeLancamento);
}
}
Se houver informações específicas que precisam ser exibidas para filmes ou séries, você pode sobrescrever o método exibeFichaTecnica()
nessas classes. Por exemplo, na classe Filme
, você poderia adicionar o nome do diretor:
public class Filme extends Titulo {
private String diretor;
@Override
public void exibeFichaTecnica() {
super.exibeFichaTecnica();
System.out.println("Diretor: " + diretor);
}
}
E na classe Serie
, você poderia adicionar informações sobre temporadas e episódios:
public class Serie extends Titulo {
private int temporadas;
private int episodiosPorTemporada;
@Override
public void exibeFichaTecnica() {
super.exibeFichaTecnica();
System.out.println("Temporadas: " + temporadas);
System.out.println("Episódios por temporada: " + episodiosPorTemporada);
}
}
Dessa forma, você mantém o código organizado e evita duplicação, aproveitando o poder da herança para compartilhar funcionalidades comuns.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.