Práctica Pilares de La Poo
Práctica Pilares de La Poo
Práctica Pilares de La Poo
TEMA:
CUARTO SEMESTRE
TUTORA:
ESTUDIANTE:
CII 2020-2021
GUAYAQUIL-ECUADOR
Una librería que apenas está empezando con sus actividades comerciales solicita el
desarrollo de un programa en Java, la cual trabaja con 3 tipos de artículos: libros, periódicos
del día y revistas. Todos estos productos tienen como información en común: nombre, fecha
de publicación, autor, editorial, páginas y precio. A su vez, cada uno de estos artículos cuenta
con su información específica. Los libros deben llevar el idioma en el cual se encuentra
disponible a disposición de venta. Los periódicos deben contener el número de ejemplares que
se han impreso (tiraje), y las redes sociales que maneje el periódico. Las revistas deben contener
su número internacional normalizado de publicaciones seriadas (ISSN) y el tema a tratar dentro
de la misma.
Hay tres tipos de libros disponibles en la librería: Romance, misterio y fantasía. Los
libros de romance deberán contener la edad a partir de la cual es admitido leerlos.
Las revistas también se dividen en dos tipos: De divulgación científica y ocio. En las
revistas de divulgación científica debe indicarse si estas se pueden encontrar también online o
no. Por otro lado, las de ocio, deben contener si es una edición mensual, diaria o semanal.
Análisis
1. De esta manera se van a organizar las clases. Estudiamos los atributos de las clases y
trasladamos a la superclase todo atributo que pueda ser trasladado.
2. Luego de haber hecho el paso anterior, se crean superclases intermedias para agrupar
atributos y métodos cuando sea posible. Realizamos abstracciones. En este caso,
aclaramos el lugar exacto de dónde se va a heredar. Este proceso ayuda a comprender la
manera correcta en la que aplicamos los pilares de la POO, seguimos una jerarquía
ahorrando tiempo y espacio.
Clase librería
package practica;
import java.util.Date;
public abstract class libreria {//abstracción
private String nombre;//encapsulamiento
private Date fpublicacion;//encapsulamiento
private String autor;//encapsulamiento
private String editorial;//encapsulamiento
private int paginas;//encapsulamiento
private float precio;//encapsulamiento
public libreria (String nombre, Date fpublicacion, String autor, String editorial,
int paginas, float precio) {
this.nombre=nombre;
this.fpublicacion=fpublicacion;
this.autor=autor;
this.editorial=editorial;
this.paginas=paginas;
this.precio=precio;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre=nombre;
}
public Date getFpublicacion() {
return fpublicacion;
}
public void setFpublicacion(Date fpublicacion) {
this.fpublicacion=fpublicacion;
}
public String getAutor(){
return autor;
}
public void setAutor(String autor) {
this.autor=autor;
}
public String getEditorial(){
return editorial;
}
public void setEditorial(String editorial) {
this.editorial=editorial;
}
public int getPaginas(){
return paginas;
}
public void setPaginas(int paginas) {
this.paginas=paginas;
}
public float getPrecio() {
return precio;
}
public void setPrecio(float precio) {
this.precio=precio;
}
Clase libros
package practica;
import java.util.Date;
public class libros extends libreria {//herencia, abstracción
private String idioma;//encapsulamiento
public libros (String nombre, Date fpublicacion, String autor, String
editorial, int paginas, float precio, String idioma) {
super(nombre, fpublicacion, autor, editorial, paginas,
precio);//herencia
this.idioma=idioma;
}
Clase romance
package practica;
import java.util.Date;
public class romance extends libros {//herencia, abstracción
private String edad;//encapsulamiento
public romance (String nombre, Date fpublicacion, String autor, String
editorial, int paginas, float precio, String idioma, String edad) {
super(nombre, fpublicacion, autor, editorial, paginas, precio, idioma);
this.edad=edad;
}
public String getEdad() {
return edad;
}
public void setEdad(String edad) {
this.edad=edad;
}
public void Imprimir() {
super.Imprimir();//herencia
System.out.println("Clasificación por edad: "+getEdad());
}
}
Clase misterio
package practica;
import java.util.Date;
public class misterio extends libros {//herencia, abstracción
public misterio (String nombre, Date fpublicacion, String autor, String
editorial, int paginas, float precio, String idioma) {
super(nombre, fpublicacion, autor, editorial, paginas, precio,
idioma);//herencia
}
public void Imprimir() {//herencia
super.Imprimir();
}
}
Clase fantasía
package practica;
import java.util.Date;
public class fantasia extends libros {//herencia, abstracción
public fantasia (String nombre, Date fpublicacion, String autor, String
editorial, int paginas, float precio, String idioma) {
super(nombre, fpublicacion, autor, editorial, paginas, precio,
idioma);//herencia
}
public void Imprimir() {
super.Imprimir();//herencia
}
Clase periódicos
package practica;
import java.util.Date;
public class periodicos extends libreria{//herencia, abstracción
private int tiraje;//encapsulamiento
private String redes;//encapsulamiento
public periodicos (String nombre, Date fpublicacion, String autor, String
editorial, int paginas, float precio, int tiraje, String redes) {
super(nombre, fpublicacion, autor, editorial, paginas,
precio);//herencia
this.tiraje=tiraje;
this.redes=redes;
}
public int getTiraje() {
return tiraje;
}
public void setTiraje(int tiraje) {
this.tiraje=tiraje;
}
public String getRedes() {
return redes;
}
public void setRedes(String redes) {
this.redes=redes;
}
public void Imprimir() {//herencia
super.Imprimir();
}}
Clase revistas
package practica;
import java.util.Date;
public class revistas extends libreria {//herencia, abstracción
private String issn;//encapsulamiento
private String tema;//encapsulamiento
public revistas (String nombre, Date fpublicacion, String autor, String
editorial, int paginas, float precio, String issn, String tema) {
super (nombre, fpublicacion, autor, editorial, paginas,
precio);//herencia
this.issn=issn;
this.tema=tema;
}
public String getIssn() {
return issn;
}
public void setFpublicacion(String issn) {
this.issn=issn;
}
public String getTema() {
return tema;
}
public void setTema(String tema) {
this.tema=tema;
}
public void Imprimir() {
super.Imprimir();//herencia
System.out.println("El ISSN de la revista es: "+getIssn());
System.out.println("El tema a tratar en la revista es: "+getTema());
}}
Clase ccnn
package practica;
import java.util.Date;
public class ccnn extends revistas{//herencia, abstracción
private String online;//encapsulamiento
public ccnn (String nombre, Date fpublicacion, String autor, String
editorial, int paginas, float precio, String issn, String tema, String online) {
super (nombre, fpublicacion, autor, editorial, paginas, precio, issn,
tema);//herencia
this.online=online;
}
public String getOnline() {
return online;
}
public void setOnline(String online) {
this.online=online;
}
public void Imprimir() {
super.Imprimir();//herencia
System.out.println("Disponibilidad online: "+getOnline());
}}
Clase ocio
package practica;
import java.util.Date;
public class ocio extends revistas {//herencia, abstracción
private String edicion;//encapsulamiento
public ocio (String nombre, Date fpublicacion, String autor, String
editorial, int paginas, float precio, String issn, String tema, String edicion) {
super (nombre, fpublicacion, autor, editorial, paginas, precio, issn,
tema);//herencia
this.edicion=edicion;
}
public String getEdicion() {
return edicion;
}
public void setEdicion(String edicion) {
this.edicion=edicion;}
public void Imprimir() {
super.Imprimir();//herencia
System.out.println("Edición: "+getEdicion());
}
}
Clase main
package practica;
import java.util.Date;
public class main{
public static void main(String[] args) {
Date fecha1, fecha2, fecha3;
fecha1=new Date(03-03-21);//polimorfismo
fecha2=new Date(04-01-18);//polimorfismo
fecha3=new Date(31-05-19);//polimorfismo
misterio3=new misterio("Nido",fecha3,"Oppel
Kenneth","Grantravesia",409,15.45f,"Español");
System.out.println("Tercer libro: ");
misterio3.Imprimir();
System.out.println();
System.out.println("REVISTAS DE OCIO");
ocio1=new ocio("Cuidado del rostro", fecha2, "Laura Vera",
"Healthies", 15, 4.6f, "5727-3968", "Mascarillas para todo tipo de piel",
"Mensual");
System.out.println("Primera revista: ");
ocio1.Imprimir();
System.out.println();