public class Midia {
private String titulo;
private int anoPublicacao;
public Midia(String titulo, int anoPublicacao) {
this.titulo = titulo;
this.anoPublicacao = anoPublicacao;
}
public String getTitulo() {
return titulo;
}
public int getAnoPublicacao() {
return anoPublicacao;
}
public String gerarCodigo() {
return "LIB-" + titulo.substring(0, 3) + anoPublicacao;
}
}
public class Livro extends Midia{
private String autorLivro;
public Livro(String titulo, int anoPublicacao, String autorLivro) {
super(titulo, anoPublicacao);
this.autorLivro = autorLivro;
}
public String getAutorLivro() {
return autorLivro;
}
public void exibirFichaMidia(){
System.out.println("Codigo: " + gerarCodigo() + "| Livro: \"" + getTitulo() + "| Autor: " + autorLivro);
}
}
public class Revista extends Midia{
private int edicaoRevista;
public Revista(String titulo, int anoPublicacao, int edicaoRevista) {
super(titulo, anoPublicacao);
this.edicaoRevista = edicaoRevista;
}
public int getEdicaoRevista() {
return edicaoRevista;
}
public void exibirFichaMidia(){
System.out.println("Codigo: " + gerarCodigo() + "| Revista: " + getTitulo() + "Edicao: " + edicaoRevista);
}
}
public class Ebook extends Midia{
private String formato;
public Ebook(String titulo, int anoPublicacao, String formato) {
super(titulo, anoPublicacao);
this.formato = formato;
}
public String getFormato() {
return formato;
}
public void exibirFichaMidia(){
System.out.println("Codigo: " + gerarCodigo() + "| Ebook: " + getTitulo() + "Formato: " + formato);
}
}
public class Principal {
public static void main(String[] args){
Livro livro = new Livro("O Guia do Mochileiro das Galáxias", 1979, "Douglas Adams");
Revista revista = new Revista("National Geographic", 2023, 245);
Ebook ebook = new Ebook("Clean Code", 2008, "PDF");
livro.exibirFichaMidia();
revista.exibirFichaMidia();
ebook.exibirFichaMidia();
}
}