package com.github.aldenyjr.exercicios.gerenciamento_de_biblioteca;
public class Midia {
private String titulo;
private int anoPublicacao;
private String codigo;
public Midia(String titulo, int anoPublicacao) {
this.titulo = titulo;
this.anoPublicacao = anoPublicacao;
this.codigo = this.retornaCodigo();
}
public String getTitulo() {
return titulo;
}
public int getAnoPublicacao() {
return anoPublicacao;
}
public String getCodigo() {
return codigo;
}
private String retornaCodigo(){
return "LIB-" + this.titulo.substring(0,3).trim().replaceAll(" ", "") + this.anoPublicacao;
}
}
package com.github.aldenyjr.exercicios.gerenciamento_de_biblioteca;
public class Livro extends Midia{
private String autor;
public Livro(String titulo, int anoPublicacao, String autor) {
super(titulo, anoPublicacao);
this.autor = autor;
}
public void exibirInfo(){
System.out.printf("Código: %s | Livro: %s | Autor: %s\n", this.getCodigo(), this.getTitulo(), this.autor);
}
}
package com.github.aldenyjr.exercicios.gerenciamento_de_biblioteca;
public class Revista extends Midia{
private String edicao;
public Revista(String titulo, int anoPublicacao, String edicao) {
super(titulo, anoPublicacao);
this.edicao = edicao;
}
public void exibirInfo(){
System.out.printf("Código: %s | Revista: %s | Edição: %s\n", this.getCodigo(), this.getTitulo(), this.edicao);
}
}
package com.github.aldenyjr.exercicios.gerenciamento_de_biblioteca;
public class Ebook extends Midia{
private String formato;
public Ebook(String titulo, int anoPublicacao, String formato) {
super(titulo, anoPublicacao);
this.formato = formato;
}
public void exibirInfo(){
System.out.printf("Código: %s | Ebook: %s | Formato: %s\n", this.getCodigo(), this.getTitulo(), this.formato);
}
}
package com.github.aldenyjr.exercicios.gerenciamento_de_biblioteca;
public class GerenciamentoDeBiblioteca {
public static void main(String[] args) {
var livro = new Livro("O Guia do Mochileiro das Galáxias", 1979, "Douglas Adams");
var revista = new Revista("National Geographic", 2023, "245");
var ebook = new Ebook("Clean Code", 2008, "PDF");
livro.exibirInfo();
revista.exibirInfo();
ebook.exibirInfo();
}
}
Resultado:
Código: LIB-OG1979 | Livro: O Guia do Mochileiro das Galáxias | Autor: Douglas Adams
Código: LIB-Nat2023 | Revista: National Geographic | Edição: 245
Código: LIB-Cle2008 | Ebook: Clean Code | Formato: PDF