import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<MaterialBibliografico> catalogo = new ArrayList<>();
Libro libro1 = new Libro("Cien años de soledad", "Gabriel García Márquez", 1967, 417);
Revista revista1 = new Revista("Nature", "Varios", 2024, 604);
catalogo.add(libro1);
catalogo.add(revista1);
for (MaterialBibliografico material : catalogo) {
material.mostrarInformacion();
System.out.println();
}
}
}
public class Revista extends MaterialBibliografico {
private int volumen;
public Revista(String titulo, String autor, int anioPublicacion, int volumen) {
super(titulo, autor, anioPublicacion);
this.volumen = volumen;
}
public int getVolumen() {
return volumen;
}
@Override
public void mostrarInformacion() {
System.out.println("--- Ficha Técnica de la Revista ---");
System.out.println("Título: " + getTitulo());
System.out.println("Autor: " + getAutor());
System.out.println("Año de Publicación: " + getAnioPublicacion());
System.out.println("Volumen: " + volumen);
}
}
public class Libro extends MaterialBibliografico {
private int numeroDePaginas;
public Libro(String titulo, String autor, int anioPublicacion, int numeroDePaginas) {
super(titulo, autor, anioPublicacion);
this.numeroDePaginas = numeroDePaginas;
}
public int getNumeroDePaginas() {
return numeroDePaginas;
}
@Override
public void mostrarInformacion() {
System.out.println("--- Ficha Técnica del Libro ---");
System.out.println("Título: " + getTitulo());
System.out.println("Autor: " + getAutor());
System.out.println("Año de Publicación: " + getAnioPublicacion());
System.out.println("Número de Páginas: " + numeroDePaginas);
}
}
public abstract class MaterialBibliografico {
private String titulo;
private String autor;
private int anioPublicacion;
public MaterialBibliografico(String titulo, String autor, int anioPublicacion) {
this.titulo = titulo;
this.autor = autor;
this.anioPublicacion = anioPublicacion;
}
public String getTitulo() {
return titulo;
}
public String getAutor() {
return autor;
}
public int getAnioPublicacion() {
return anioPublicacion;
}
public abstract void mostrarInformacion();
}