Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Práctica Pilares de La Poo

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN

TEMA:

Práctica pilares de la POO.

CUARTO SEMESTRE

TUTORA:

Ing. Ivette Carrera Manosalvas

ESTUDIANTE:

Guerrero Cáceres Flor María

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;
}

public void Imprimir() {


System.out.println("Nombre: "+this.nombre);
System.out.println("Su fecha de publicación es: "+this.fpublicacion);
System.out.println("Autor(a): "+this.autor);
System.out.println("Su editorial es: "+this.editorial);
System.out.println("El número de páginas que contiene es: "+this.paginas);
System.out.println("Precio: "+this.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;
}

public String getIdioma() {


return idioma;
}
public void setIdioma(String idioma) {
this.idioma=idioma;
}

public void Imprimir() {


super.Imprimir();//herencia
System.out.println("El libro está disponible en los idiomas:
"+getIdioma());
}}

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

romance romance1, romance2;


System.out.println("LIBROS DE ROMANCE");
romance1=new romance("Amor en Paris",fecha1,"Andres Macias","Nocturna
ediciones",120,17.7f,"Español e Inglés","13+");
System.out.println("Primer libro: ");
romance1.Imprimir();
System.out.println();

romance2=new romance("La princesa roja",fecha2,"Aaron


Smith","Debolsillo",230,15.2f,"Español","18+");
System.out.println("Segundo libro: ");
romance2.Imprimir();
System.out.println();

misterio misterio1, misterio2, misterio3 ;


System.out.println("LIBROS DE MISTERIO");
misterio1=new misterio("Condenados",fecha3,"Cooper Glen
A.","Grijalbo",180,28.5f,"Español, inglés y portugués");
System.out.println("Primer libro: ");
misterio1.Imprimir();
System.out.println();

misterio2=new misterio("Blackbirds",fecha2,"Wending Chuck","Simon and


Schuster",389,28.5f,"Inglés");
System.out.println("Segundo libro: ");
misterio2.Imprimir();
System.out.println();

misterio3=new misterio("Nido",fecha3,"Oppel
Kenneth","Grantravesia",409,15.45f,"Español");
System.out.println("Tercer libro: ");
misterio3.Imprimir();
System.out.println();

fantasia fantasia1, fantasia2;


System.out.println("LIBROS DE FANTASÍA");
fantasia1=new fantasia("El hijo infinito",fecha1,"Silvera
Adam","PUCK",245,20.15f,"Español");
System.out.println("Primer libro: ");
fantasia1.Imprimir();
System.out.println();

fantasia2=new fantasia("Aguas lejanas",fecha2,"Andy


Salvatierra","True colors",238,10.60f,"Español e inglés");
System.out.println("Segundo libro: ");
fantasia2.Imprimir();
System.out.println();

periodicos periodico1, periodico2, periodico3, periodico4;


System.out.println("SECCIÓN DE PERIÓDICOS DEL DÍA");
periodico1=new periodicos("El universo", fecha1, "Jaime Aguilera",
"ABC COLORS", 15, 0.65f, 15/36, "Twitter-eluniversoec");
System.out.println("Primer periódico: ");
periodico1.Imprimir();
System.out.println();
periodico2=new periodicos("El comercio",fecha2, "Robert Portilla",
"ABC COLORS", 24, 0.70f, 4/50, "Instagram-elcomercio");
System.out.println("Segundo periódico: ");
periodico2.Imprimir();
System.out.println();

periodico3=new periodicos("El telégrafo", fecha3, "Mark Ponce", "El


mundo", 18, 0.50f, 18/50, "Facebook-eltelegrafo");
System.out.println("Trecer periódico: ");
periodico3.Imprimir();
System.out.println();

periodico4=new periodicos("La nación", fecha2, "Jaime Aguilera", "El


tiempo", 30, 0.85f, 40/120, "Twitter-lanacionec");
System.out.println("Cuarto periódico: ");
periodico4.Imprimir();
System.out.println();

ccnn revista1, revista2;


System.out.println("REVISTAS");
System.out.println("REVISTAS DE DIVULGACIÓN CIENTÍFICA");
revista1=new ccnn("El mundo hoy", fecha1, "Marco Sala", "Pequeños
gigantes", 15, 2.5f, "1514-2590", "Beneficios de la tecnología","Sí");
System.out.println("Primera revista: ");
revista1.Imprimir();
System.out.println();

revista2=new ccnn("Cuidemos el ecosistema", fecha3, "Alejandro


Martinez", "Green colors", 25, 7.3f, "2938-1270", "Manglares en peligro","No");
System.out.println("Segunda revista: ");
revista2.Imprimir();
System.out.println();

ocio ocio1, ocio2;

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();

ocio2=new ocio("Cuidados del cabello", fecha1, "Adriana Vázques",


"Green apple", 20, 2.76f, "5241-5723", "Tips para un cabello saludable",
"Semanal");
System.out.println("Segunda revista: ");
ocio2.Imprimir();
System.out.println();
}
}

Ejecución del ejercicio

También podría gustarte