public class Midia {
private String titulo;
private int ano;
public Midia(String titulo, int ano) {
this.titulo = titulo;
this.ano = ano;
}
String gerarCodigo(){
String codigo = "LIB-" + (this.getTitulo().toUpperCase().substring(0,3))+this.getAno();//getBytes(3);
return codigo;
}
public String getTitulo() {
return titulo;
}
public int getAno() {
return ano;
}
}
public class Ebook extends Midia{
private String formato;
public Ebook(String titulo, int ano, String formato) {
super(titulo, ano);
this.formato = formato;
}
public String getFormato() {
return formato;
}
void exibirInfo(){
System.out.println("Código: " + this.gerarCodigo() + " | Ebook: " + this.getTitulo() + " | Formato: " + this.getFormato());
}
}
public class Livro extends Midia {
private String autor;
public Livro(String titulo, int ano, String autor) {
super(titulo, ano);
this.autor = autor;
}
public String getAutor() {
return autor;
}
void exibirInfo(){
System.out.println("Código: " + this.gerarCodigo() + " | Livro: " + this.getTitulo() + " | Autor: " + this.getAutor());
}
}
public class Revista extends Midia {
private int edicao;
public Revista(String titulo, int ano, int edicao) {
super(titulo, ano);
this.edicao = edicao;
}
void exibirInfo(){
System.out.println("Código: " + this.gerarCodigo() + " | Revista: " + this.getTitulo() + " | Edição: " + this.getEdicao());
}
public int getEdicao() {
return edicao;
}
}
public class Main {
public static void main(String[] args) {
Livro locuppation = new Livro("L'occupation", 2002, "Annie Ernaux");
locuppation.exibirInfo();
Revista natGeo = new Revista("National Geographic", 2023, 245);
natGeo.exibirInfo();
Ebook cleanCode = new Ebook("Clean Code", 2008,"PDF");
cleanCode.exibirInfo();
}
}