package Relatorio.gerenciamentoDeBiblioteca;
public class Midia {
private String titulo;
private int anoDePublicacao;
public Midia(String titulo, int anoDePublicacao) {
this.titulo = titulo;
this.anoDePublicacao = anoDePublicacao;
}
public String getTitulo() {
return titulo;
}
public int getAnoDePublicacao() {
return anoDePublicacao;
}
public String gerarCodigo() {
String prefixoTitulo = titulo.length() >= 4 ? titulo.substring(0,4) : titulo;
prefixoTitulo = prefixoTitulo.trim().toUpperCase();
return "LIB-" + prefixoTitulo + anoDePublicacao;
}
}
package Relatorio.gerenciamentoDeBiblioteca;
public class Livro extends Midia {
private String autor;
public Livro(String titulo, String autor, int anoDePublicacao) {
super(titulo, anoDePublicacao);
this.autor = autor;
}
public String getAutor() {
return autor;
}
@Override
public String toString() {
return "Código: " + gerarCodigo() + " | Livro: " + getTitulo() + " - Autor: " + getAutor() + " - Ano de Publicação: " + getAnoDePublicacao();
}
}
package Relatorio.gerenciamentoDeBiblioteca;
public class Revista extends Midia {
private int edicao;
public Revista(String titulo, int edicao, int anoDePublicacao) {
super(titulo, anoDePublicacao);
this.edicao = edicao;
}
public int getEdicao() {
return edicao;
}
@Override
public String toString() {
return "Código: " + gerarCodigo() + " | Revista: " + getTitulo() + " - Edição: " + getEdicao() + " - Ano de Publicação: " + getAnoDePublicacao();
}
}
package Relatorio.gerenciamentoDeBiblioteca;
public class Ebook extends Midia {
private String formato;
public Ebook(String titulo, String formato, int anoDePublicacao) {
super(titulo, anoDePublicacao);
this.formato = formato;
}
public String getFormato() {
return formato;
}
@Override
public String toString() {
return "Código: " + gerarCodigo() + " | Ebook: " + getTitulo() + " - Formato: " + getFormato() + " - Ano de Publicação " + getAnoDePublicacao();
}
}
package Relatorio.gerenciamentoDeBiblioteca;
public class Principal {
public static void main(String[] args) {
Livro livro = new Livro("'O guia do mochileiro das galáxias'", "Douglas Adams",1979 );
System.out.println(livro);
Revista revista = new Revista("'National Geographic'", 245, 2023);
System.out.println(revista);
Ebook ebook = new Ebook("Clean Code","PDF",2008 );
System.out.println(ebook);
}
}