package biblioteca.de.gerenciamento;
public class Midia {
protected String titulo;
protected int anoDePublicacao;
public Midia(String titulo, int anoDePublicacao) {
this.titulo = titulo;
this.anoDePublicacao = anoDePublicacao;
}
public String codigo(){
return "LIB-" + titulo.substring(0,3) + anoDePublicacao + "|";
}
}
package biblioteca.de.gerenciamento;
public class Livro extends Midia implements ExibirInfo{
private String autor;
public Livro(String titulo, int anoDePublicacao, String autor) {
super(titulo, anoDePublicacao);
this.autor = autor;
}
public void exibirInfo() {
System.out.println(codigo() + "Livro: \"" + titulo + "\" - Autor: " + autor + "\n");
}
}
package biblioteca.de.gerenciamento;
public class Revista extends Midia implements ExibirInfo{
private int edicao;
public Revista(String titulo, int anoDePublicacao, int edicao) {
super(titulo, anoDePublicacao);
this.edicao = edicao;
}
public void exibirInfo() {
System.out.println(codigo() + "Revista: \"" + titulo + "\" - Edição: " + edicao + "\n");
}
}
package biblioteca.de.gerenciamento;
public class Ebook extends Midia implements ExibirInfo{
private String formato;
public Ebook(String titulo, int anoDePublicacao, String formato) {
super(titulo, anoDePublicacao);
this.formato = formato;
}
public void exibirInfo() {
System.out.println(codigo() + "Ebook: \"" + titulo + "\" - Formato: " + formato + "\n");
}
}
package biblioteca.de.gerenciamento;
public interface ExibirInfo {
public void exibirInfo();
}
package biblioteca.de.gerenciamento;
public class GerenciamentoDeBibliotecaMain {
public static void main(String[] args) {
Livro livro1 = new Livro("O Idiota", 1868, "Fiódor Dostoiévski");
Revista revista1 = new Revista("National Geographic", 2023, 245);
Ebook ebook1 = new Ebook("Clean Code", 2008, "PDF");
livro1.exibirInfo();
revista1.exibirInfo();
ebook1.exibirInfo();
}
}