package Principal;
public class Principal {
public static void main(String[] args) {
Midia livro1 = new Livro("O Guia do Mochileiro das Galáxias", 1979,
"Douglas Adams");
Midia revista1 = new Revista("National Geographic", 2023, 245);
Midia ebook1 = new Ebook("Clean Code", 2008, "PDF");
livro1.exibirInfo();
revista1.exibirInfo();
ebook1.exibirInfo();
}
}
package Principal;
public abstract class Midia {
String titulo;
int anoDePublicacao;
String codigo;
public Midia(String titulo, int anoDePublicacao) {
this.titulo = titulo;
this.anoDePublicacao = anoDePublicacao;
}
public abstract void exibirInfo();
String verficarCodigo(){
return "LIB-" + titulo.substring(0,3) + anoDePublicacao;
}
}
package Principal;
public class Livro extends Midia{
String autor;
public Livro(String titulo, int anoDePublicacao, String autor) {
super(titulo, anoDePublicacao);
this.autor = autor;
}
@Override
public void exibirInfo(){
System.out.printf("Codígo: %s | Livro: %s - Autor: %s\n", verficarCodigo(), titulo, autor);
}
}
package Principal;
public class Revista extends Midia{
int edicao;
public Revista(String titulo, int anoDePublicacao, int edicao) {
super(titulo, anoDePublicacao);
this.edicao = edicao;
}
@Override
public void exibirInfo() {
System.out.printf("Codígo: %s | Revista: %s - Edição: %s\n", verficarCodigo(), titulo, edicao);
}
}
package Principal;
public class Ebook extends Midia{
String formato;
public Ebook(String titulo, int anoDePublicacao, String formato) {
super(titulo, anoDePublicacao);
this.formato = formato;
}
@Override
public void exibirInfo() {
System.out.printf("Codígo: %s | Ebook: %s - formato: %s\n", verficarCodigo(), titulo, formato);
}
}