SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
UNIVERSIDAD ISRAEL
CIENCIAS DE LA INGENIERÍA
CARRERA DE SISTEMAS DE INFORMACIÓN
PROGRAMACIÓN ORIENTADA A OBJETOS
SEMESTRE 2021 A
LABORATORIO S4 y S5
TEMA: Aplicaciones Java (Diagramas de barras y de pastel)
PROFESOR: Mg. Luis Fernando Aguas Bucheli
QUITO, 2021
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
1. TEMA: Aplicaciones Java (Diagramas de barras y de pastel)
2. OBJETIVOS:
• Adquirir los conceptos básicos relacionados con la POO
• Reconocer las características de la POO
3. OBJETIVOS DE DESARROLLO SOSTENIBLE:
4. INTRODUCCION:
Clases y objetos
• Objeto
Un objeto es una encapsulación genérica de datos y de los procedimientos para
manipularlos.
Al igual que los objetos del mundo real, los objetos de software tienen un estado y un
comportamiento. El estado de los objetos se determina a partir de una o
más variables y el comportamiento con la implementación de métodos.
La siguiente figura muestra la representación cómun de los objetos de software
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
Como se observa en la figura, todos los objetos tienen una parte pública (su
comportamiento) y una parte privada (su estado). En este caso, hicimos una vista
transversal pero desde el mundo exterior, el objeto se observará como una esfera.
• Clase
Una clase está formada por los métodos y las variables que definen las características
cómunes a todos los objetos de esa clase. Precisamente la clave de la OOP está en
abstraer los métodos y los datos comunes a un conjunto de objetos y almacenarlos en
una clase.
Una clase equivale a la generalización de un tipo específico de objetos.
Una instancia es la concreción de una clase.
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
Clase X
En la figura anterior, el objeto A y el objeto B son instancias de la clase X.
Cada uno de los objetos tiene su propia copia de las variables definidas en la clase de
la cual son instanciados y comparten la misma implementación de los métodos.
5. DESARROLLO:
• Ingresamos a Netbeans
• Creamos un nuevo proyecto:
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Colocamos como nombre
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Damos clic en Finalizar
• Eliminamos la clase que se creó por defecto
• Teniendo
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Damos clic en agregar JFrame
• Colocamos el siguiente nombre
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Damos clic en Finalizar
• Creamos la siguiente interface
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Creamos la siguiente clase:
• Con el siguiente nombre:
jTextArea1
jButtons
jPanel1
jPanel2
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Teniendo:
• Colocamos el siguiente código
public class Persona {
protected String cedula;
protected String nombre;
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
public Persona(String cedula,String nombre)
{
this.nombre=nombre;
this.cedula=cedula;
}//fin persona
public String get_cedula()
{
return cedula;
}// fin get_cedula
public String get_nombre()
{
return nombre;
}
public void setea_datos( String cedula,String nombre)
{
this.nombre=nombre;
this.cedula=cedula;
}//fin setea_datos
}
• Teniendo:
• Creamos otra clase, con el siguiente nombre:
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Teniendo:
• Colocamos el siguiente código:
public class Paciente extends Persona{
String enfermedad;
String seguro;
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
public Paciente(String cedula,String nombre, String enfermedad,String seguro )
{
super(cedula, nombre);
this.enfermedad=enfermedad;
this.seguro=seguro;
}
public String get_enfermedad()
{
return enfermedad;
}// fin get_cedula
public String get_seguro()
{
return seguro;
}// fin get_cedula
}
• Teniendo:
• Declaramos las siguientes variables
Paciente A[]=new Paciente[3];
Font tipo1 =new Font("Arial",Font.BOLD+Font.ITALIC,14);
Font tipo2 =new Font("Comic Sans MS",Font.ITALIC,13);
• Teniendo:
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Damos doble clic en el siguiente botón
• Colocamos el siguiente código:
A[0]=new Paciente ("1716866916","Luis Aguas", "Ninguna","Seguro");
A[1]=new Paciente ("1716866916","Fabiola Aguas", "Ninguna","Seguro");
A[2]=new Paciente ("1716866916","Sofía Aguas", "Ninguna","No seguro");
jTextArea1.append("nCédula - Apellidos y Nombres - Enfermedad - Seguro");
jTextArea1.append("n---------------------- ");
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
for (int i=0;i<A.length;i++)
jTextArea1.append("n"+ A[i].get_cedula()+"-"+A[i].get_nombre()+"-
"+A[i].get_enfermedad()+"-"+A[i].get_seguro());
• Teniendo:
• Creamos las siguientes funciones para dibujar un diagrama de barras y de pastel
public void graficoBarras(Graphics t, Paciente A[],int x, int y)
{
int contS=0,contC=0,a=20,ancho=40;
for(int i=0;i<A.length;i++)
{
if(A[i].get_seguro().equals("Seguro"))
contS++;
if(A[i].get_seguro().equals("No seguro"))
contC++;
}
//Ejes
t.drawLine(x,y,x+300,y);
t.drawLine(x,y,x,y-250);
t.setFont(tipo1);
t.setColor(Color.red);
t.drawString("Tipo",x+300,y+30);
t.drawString("# Asegurados",x-100,y-250);
//Leyenda
t.setColor(Color.black);
t.drawRect(x+250,y-190,160,100);
t.setFont(tipo1);
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
t.setColor(Color.red);
t.drawString("Leyenda",x+270,y-170);
t.setColor(Color.blue);
t.fillRect(x+270,y-150,ancho,ancho/2);
t.setColor(Color.cyan);
t.fillRect(x+270,y-120,ancho,ancho/2);
t.setColor(Color.black);
t.drawRect(x+270,y-150,ancho,ancho/2);
t.drawRect(x+270,y-120,ancho,ancho/2);
t.setFont(tipo2);
t.drawString("Seguro",x+320,y-135);
t.drawString("No Seguro",x+320,y-105);
//Seguro
t.setColor(Color.blue);
t.fillRect(x+50,y-(contS*a),ancho,contS*a);
t.setColor(Color.black);
t.drawRect(x+50,y-(contS*a),ancho,contS*a);
t.drawLine(x,y-(contS*a),x+50+ancho,y-(contS*a));
t.setFont(tipo2);
t.drawString("Seguro",x+50,y+30);
t.drawString(""+contS,x-20,y-(contS*a));
//No Seguro
t.setColor(Color.cyan);
t.fillRect(x+140,y-(contC*a),ancho,contC*a);
t.setColor(Color.black);
t.drawRect(x+140,y-(contC*a),ancho,contC*a);
t.drawLine(x+50+ancho,y-(contC*a),x+140+ancho,y-(contC*a));
t.setFont(tipo2);
t.drawString("No Seguro",x+140,y+30);
t.drawString(""+contC,x-20,y-(contC*a));
}
public void graficoPastel(Graphics g, int x, int y)
{
int ptot=0; int s=0, ns=0;
for(int i=0;i<A.length;i++)
{
if(A[i].get_seguro().equals("Seguro"))
s++;
if(A[i].get_seguro().equals("No seguro"))
ns++;
}
ptot=A.length;
if(ptot!=0){
g.drawRect(x+200,y+20,100,100);
g.drawString("Leyenda:",x+210,y+40);
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
g.drawString("S "+(double)(s*100/ptot)+" %",x+230,y+60);
g.drawString("NS "+(double)(ns*100/ptot)+" %",x+230,y+80);
g.drawRect(x+210,y+50,10,10);
g.drawRect(x+210,y+70,10,10);
g.fillOval(x-3,y-3,156,156);
g.setColor(new Color(128,0,128));
g.fillArc(x,y,150,150,0,(int)(s*360/ptot));
g.fillRect(x+210,y+50,10,10);
g.setColor(new Color(14,45,34));
g.fillArc(x,y,150,150,(int)(s*360/ptot),(int)(ns*360/ptot));
g.fillRect(x+210,y+70,10,10);
}
}
• Teniendo:
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Ahora damos doble clic en el siguiente botón
• Colocamos el siguiente código:
jTextArea1.setText("");
• Teniendo:
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Ahora damos doble clic en el siguiente botón
• Colocamos el siguiente código
graficoBarras(jPanel1.getGraphics(),A,100,300);
graficoPastel(jPanel2.getGraphics(),50,125);
• Teniendo:
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Compilamos y ejecutamos
• Damos clic en ver pacientes
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
• Luego damos clic en Diagramas
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Ciencias de la Ingeniería
6. BIBLIOGRAFIA:

Más contenido relacionado

Similar a Lab4-5-POO (20)

Unidad2tema1 210404032722
Unidad2tema1 210404032722Unidad2tema1 210404032722
Unidad2tema1 210404032722
 
Unidad 2 tema 1
Unidad 2 tema 1Unidad 2 tema 1
Unidad 2 tema 1
 
Lab-07-08-PD2-Reportes
Lab-07-08-PD2-ReportesLab-07-08-PD2-Reportes
Lab-07-08-PD2-Reportes
 
Cedula
CedulaCedula
Cedula
 
Unidad2tema2 210404033025
Unidad2tema2 210404033025Unidad2tema2 210404033025
Unidad2tema2 210404033025
 
Unidad 2 tema 2.1
Unidad 2 tema 2.1Unidad 2 tema 2.1
Unidad 2 tema 2.1
 
Unidad 2 tema 4
Unidad 2 tema 4Unidad 2 tema 4
Unidad 2 tema 4
 
Laboratorio 7- Plataformas de Desarrollo 2-Reportes
Laboratorio 7- Plataformas de Desarrollo 2-ReportesLaboratorio 7- Plataformas de Desarrollo 2-Reportes
Laboratorio 7- Plataformas de Desarrollo 2-Reportes
 
Uniad 1 tema 2
Uniad 1 tema 2Uniad 1 tema 2
Uniad 1 tema 2
 
Uniad1tema2 210404031921
Uniad1tema2 210404031921Uniad1tema2 210404031921
Uniad1tema2 210404031921
 
Unidad 1 tema 4.1
Unidad 1 tema 4.1Unidad 1 tema 4.1
Unidad 1 tema 4.1
 
Unidad2tema4 210404033353
Unidad2tema4 210404033353Unidad2tema4 210404033353
Unidad2tema4 210404033353
 
Unidad 2 tema 4
Unidad 2 tema 4Unidad 2 tema 4
Unidad 2 tema 4
 
Practica 14
Practica 14Practica 14
Practica 14
 
12
1212
12
 
12
1212
12
 
Lab-06-PD2-Reingeniería
Lab-06-PD2-ReingenieríaLab-06-PD2-Reingeniería
Lab-06-PD2-Reingeniería
 
Unidad 3 tema 3
Unidad 3 tema 3Unidad 3 tema 3
Unidad 3 tema 3
 
12 porta
12 porta12 porta
12 porta
 
Practica 13
Practica 13Practica 13
Practica 13
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENSMANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENSLuisLobatoingaruca
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 

Último (20)

MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENSMANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 

Lab4-5-POO

  • 1. UNIVERSIDAD ISRAEL CIENCIAS DE LA INGENIERÍA CARRERA DE SISTEMAS DE INFORMACIÓN PROGRAMACIÓN ORIENTADA A OBJETOS SEMESTRE 2021 A LABORATORIO S4 y S5 TEMA: Aplicaciones Java (Diagramas de barras y de pastel) PROFESOR: Mg. Luis Fernando Aguas Bucheli QUITO, 2021
  • 2. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería 1. TEMA: Aplicaciones Java (Diagramas de barras y de pastel) 2. OBJETIVOS: • Adquirir los conceptos básicos relacionados con la POO • Reconocer las características de la POO 3. OBJETIVOS DE DESARROLLO SOSTENIBLE: 4. INTRODUCCION: Clases y objetos • Objeto Un objeto es una encapsulación genérica de datos y de los procedimientos para manipularlos. Al igual que los objetos del mundo real, los objetos de software tienen un estado y un comportamiento. El estado de los objetos se determina a partir de una o más variables y el comportamiento con la implementación de métodos. La siguiente figura muestra la representación cómun de los objetos de software
  • 3. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería Como se observa en la figura, todos los objetos tienen una parte pública (su comportamiento) y una parte privada (su estado). En este caso, hicimos una vista transversal pero desde el mundo exterior, el objeto se observará como una esfera. • Clase Una clase está formada por los métodos y las variables que definen las características cómunes a todos los objetos de esa clase. Precisamente la clave de la OOP está en abstraer los métodos y los datos comunes a un conjunto de objetos y almacenarlos en una clase. Una clase equivale a la generalización de un tipo específico de objetos. Una instancia es la concreción de una clase.
  • 4. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería Clase X En la figura anterior, el objeto A y el objeto B son instancias de la clase X. Cada uno de los objetos tiene su propia copia de las variables definidas en la clase de la cual son instanciados y comparten la misma implementación de los métodos. 5. DESARROLLO: • Ingresamos a Netbeans • Creamos un nuevo proyecto:
  • 5. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Colocamos como nombre
  • 6. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Damos clic en Finalizar • Eliminamos la clase que se creó por defecto • Teniendo
  • 7. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Damos clic en agregar JFrame • Colocamos el siguiente nombre
  • 8. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Damos clic en Finalizar • Creamos la siguiente interface
  • 9. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Creamos la siguiente clase: • Con el siguiente nombre: jTextArea1 jButtons jPanel1 jPanel2
  • 10. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Teniendo: • Colocamos el siguiente código public class Persona { protected String cedula; protected String nombre;
  • 11. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería public Persona(String cedula,String nombre) { this.nombre=nombre; this.cedula=cedula; }//fin persona public String get_cedula() { return cedula; }// fin get_cedula public String get_nombre() { return nombre; } public void setea_datos( String cedula,String nombre) { this.nombre=nombre; this.cedula=cedula; }//fin setea_datos } • Teniendo: • Creamos otra clase, con el siguiente nombre:
  • 12. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Teniendo: • Colocamos el siguiente código: public class Paciente extends Persona{ String enfermedad; String seguro;
  • 13. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería public Paciente(String cedula,String nombre, String enfermedad,String seguro ) { super(cedula, nombre); this.enfermedad=enfermedad; this.seguro=seguro; } public String get_enfermedad() { return enfermedad; }// fin get_cedula public String get_seguro() { return seguro; }// fin get_cedula } • Teniendo: • Declaramos las siguientes variables Paciente A[]=new Paciente[3]; Font tipo1 =new Font("Arial",Font.BOLD+Font.ITALIC,14); Font tipo2 =new Font("Comic Sans MS",Font.ITALIC,13); • Teniendo:
  • 14. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Damos doble clic en el siguiente botón • Colocamos el siguiente código: A[0]=new Paciente ("1716866916","Luis Aguas", "Ninguna","Seguro"); A[1]=new Paciente ("1716866916","Fabiola Aguas", "Ninguna","Seguro"); A[2]=new Paciente ("1716866916","Sofía Aguas", "Ninguna","No seguro"); jTextArea1.append("nCédula - Apellidos y Nombres - Enfermedad - Seguro"); jTextArea1.append("n---------------------- ");
  • 15. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería for (int i=0;i<A.length;i++) jTextArea1.append("n"+ A[i].get_cedula()+"-"+A[i].get_nombre()+"- "+A[i].get_enfermedad()+"-"+A[i].get_seguro()); • Teniendo: • Creamos las siguientes funciones para dibujar un diagrama de barras y de pastel public void graficoBarras(Graphics t, Paciente A[],int x, int y) { int contS=0,contC=0,a=20,ancho=40; for(int i=0;i<A.length;i++) { if(A[i].get_seguro().equals("Seguro")) contS++; if(A[i].get_seguro().equals("No seguro")) contC++; } //Ejes t.drawLine(x,y,x+300,y); t.drawLine(x,y,x,y-250); t.setFont(tipo1); t.setColor(Color.red); t.drawString("Tipo",x+300,y+30); t.drawString("# Asegurados",x-100,y-250); //Leyenda t.setColor(Color.black); t.drawRect(x+250,y-190,160,100); t.setFont(tipo1);
  • 16. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería t.setColor(Color.red); t.drawString("Leyenda",x+270,y-170); t.setColor(Color.blue); t.fillRect(x+270,y-150,ancho,ancho/2); t.setColor(Color.cyan); t.fillRect(x+270,y-120,ancho,ancho/2); t.setColor(Color.black); t.drawRect(x+270,y-150,ancho,ancho/2); t.drawRect(x+270,y-120,ancho,ancho/2); t.setFont(tipo2); t.drawString("Seguro",x+320,y-135); t.drawString("No Seguro",x+320,y-105); //Seguro t.setColor(Color.blue); t.fillRect(x+50,y-(contS*a),ancho,contS*a); t.setColor(Color.black); t.drawRect(x+50,y-(contS*a),ancho,contS*a); t.drawLine(x,y-(contS*a),x+50+ancho,y-(contS*a)); t.setFont(tipo2); t.drawString("Seguro",x+50,y+30); t.drawString(""+contS,x-20,y-(contS*a)); //No Seguro t.setColor(Color.cyan); t.fillRect(x+140,y-(contC*a),ancho,contC*a); t.setColor(Color.black); t.drawRect(x+140,y-(contC*a),ancho,contC*a); t.drawLine(x+50+ancho,y-(contC*a),x+140+ancho,y-(contC*a)); t.setFont(tipo2); t.drawString("No Seguro",x+140,y+30); t.drawString(""+contC,x-20,y-(contC*a)); } public void graficoPastel(Graphics g, int x, int y) { int ptot=0; int s=0, ns=0; for(int i=0;i<A.length;i++) { if(A[i].get_seguro().equals("Seguro")) s++; if(A[i].get_seguro().equals("No seguro")) ns++; } ptot=A.length; if(ptot!=0){ g.drawRect(x+200,y+20,100,100); g.drawString("Leyenda:",x+210,y+40);
  • 17. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería g.drawString("S "+(double)(s*100/ptot)+" %",x+230,y+60); g.drawString("NS "+(double)(ns*100/ptot)+" %",x+230,y+80); g.drawRect(x+210,y+50,10,10); g.drawRect(x+210,y+70,10,10); g.fillOval(x-3,y-3,156,156); g.setColor(new Color(128,0,128)); g.fillArc(x,y,150,150,0,(int)(s*360/ptot)); g.fillRect(x+210,y+50,10,10); g.setColor(new Color(14,45,34)); g.fillArc(x,y,150,150,(int)(s*360/ptot),(int)(ns*360/ptot)); g.fillRect(x+210,y+70,10,10); } } • Teniendo:
  • 18. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Ahora damos doble clic en el siguiente botón • Colocamos el siguiente código: jTextArea1.setText(""); • Teniendo:
  • 19. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Ahora damos doble clic en el siguiente botón • Colocamos el siguiente código graficoBarras(jPanel1.getGraphics(),A,100,300); graficoPastel(jPanel2.getGraphics(),50,125); • Teniendo:
  • 20. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Compilamos y ejecutamos • Damos clic en ver pacientes
  • 21. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería • Luego damos clic en Diagramas
  • 22. Universidad Israel Ciencias de la Ingeniería Carrera de Sistemas de Información Ciencias de la Ingeniería 6. BIBLIOGRAFIA: