SlideShare una empresa de Scribd logo
IngenieríaenAnimación Digital
y EfectosVisuales
Asignatura: ProgramaciónOrientadaaObjetos
Profesor: ISC.LizbethHernándezOlán
UnidadIV Polimorfismo Fecha: 31/05/2017
Practica 1 PruebaPolimorfismo Página 1 de 2
No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús
1.EnunciadodelProblema.
Realizarelprograma10.1.
2.CódigoFuente
//RODRIGOLARAGARCIA-16080599-PRACTICA1
//Fig.10.1:PruebaPolimorfismo.java
//Asignacióndereferenciasalasuperclaseylasubclase,a
//variablesdelasuperclaseylasubclase.
publicclassPruebaPolimorfismo
{
publicstaticvoidmain(Stringargs[])
{
//asignalareferenciaalasuperclaseaunavariabledelasuperclase
EmpleadoPorComision3empleadoPorComision=newEmpleadoPorComision3("Sue","Jones","222-22-2222",10000,.06);
//asignalareferenciaalasubclaseaunavariabledelasubclase
EmpleadoBaseMasComision4 empleadoBaseMasComision =new EmpleadoBaseMasComision4("Bob", "Lewis", "333-33-3333",
5000,.04,300);
//invocaatoStringenunobjetodelasuperclase,usandounavariabledelasuperclase
System.out.printf( "%s %s:nn%snn","Llamada a toString de EmpleadoPorComision3 con referencia de superclase ","a un
objetodelasuperclase",empleadoPorComision.toString());
//invocaatoStringenunobjetodelasubclase,usandounavariabledelasubclase
System.out.printf("%s%s:nn%snn","LlamadaatoStringdeEmpleadoBaseMasComision4conreferencia","desubclaseaun
objetodelasubclase",empleadoBaseMasComision.toString());
//invocaatoStringenunobjetodelasubclase,usandounavariabledelasuperclase
EmpleadoPorComision3empleadoPorComision2=newEmpleadoBaseMasComision;
System.out.printf("%s %s:nn%sn","Llamada a toString de EmpleadoBaseMasComision4 con referencia de superclase","a un
objetodelasubclase",empleadoPorComision2.toString());
}//findemain
}//findelaclasePruebaPolimorfismo
IngenieríaenAnimación Digital
y EfectosVisuales
Asignatura: ProgramaciónOrientadaaObjetos
Profesor: ISC.LizbethHernándezOlán
UnidadIV Polimorfismo Fecha: 31/05/2017
Practica 1 Empleado Página 2 de 2
No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús
1.EnunciadodelProblema.
Realizarelprograma10.4.
2.CódigoFuente
//RODRIGOLARAGARCIA-16080599-PRACTICA1
//Fig.10.4:Empleado.java
//LasuperclaseabstractaEmpleado.
publicabstractclassEmpleado
{
privateStringprimerNombre;
privateStringapellidoPaterno;
privateStringnumeroSeguroSocial;
//constructorcontresargumentos
publicEmpleado(Stringnombre,Stringapellido,Stringnss)
{
primerNombre=nombre;
apellidoPaterno=apellido;
numeroSeguroSocial=nss;
}//findelconstructordeEmpleadocontresargumentos
//estableceelprimernombre
publicvoidestablecerPrimerNombre(Stringnombre)
{
primerNombre=nombre;
}//findelmétodoestablecerPrimerNombre
//devuelveelprimernombre
publicStringobtenerPrimerNombre()
{
returnprimerNombre;
}//findelmétodoobtenerPrimerNombre
//estableceelapellidopaterno
publicvoidestablecerApellidoPaterno(Stringapellido)
{
apellidoPaterno=apellido;
}//findelmétodoestablecerApellidoPaterno
//devuelveelapellidopaterno
publicStringobtenerApellidoPaterno()
{
returnapellidoPaterno;
}//findelmétodoobtenerApellidoPaterno
//estableceelnúmerodesegurosocial
publicvoidestablecerNumeroSeguroSocial(Stringnss)
{
numeroSeguroSocial=nss;//debevalidar
}//findelmétodoestablecerNumeroSeguroSocial
//devuelveelnúmerodesegurosocial
publicStringobtenerNumeroSeguroSocial()
{
returnnumeroSeguroSocial;
}//findelmétodoobtenerNumeroSeguroSocial
//devuelverepresentaciónStringdeunobjetoEmpleado
publicStringtoString()
{
return String.format( "%s %snnumero de seguro social: %s",obtenerPrimerNombre(), obtenerApellidoPaterno(),
obtenerNumeroSeguroSocial());
}//findelmétodotoString
//métodoabstractosobrescritoporlassubclases
publicabstractdoubleingresos();//aquínohayimplementación
}//findelaclaseabstractaEmpleado
IngenieríaenAnimación Digital
y EfectosVisuales
Asignatura: ProgramaciónOrientadaaObjetos
Profesor: ISC.LizbethHernándezOlán
UnidadIV Polimorfismo Fecha: 31/05/2017
Practica 1 EmpleadoAsalariado Página 4 de 2
No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús
1.EnunciadodelProblema.
Realizarelprograma10.5.
2.CódigoFuente
//RODRIGOLARAGARCIA-16080599-PRACTICA1
//Fig.10.5:EmpleadoAsalariado.java
//LaclaseEmpleadoAsalariadoextiendeaEmpleado.
publicclassEmpleadoAsalariadoextendsEmpleado
{
privatedoublesalarioSemanal;
//constructordecuatroargumentos
publicEmpleadoAsalariado(Stringnombre,Stringapellido,Stringnss,
doublesalario)
{
super(nombre,apellido,nss);//lospasaalconstructordeEmpleado
establecerSalarioSemanal(salario);//validayalmacenaelsalario
}//findelconstructordeEmpleadoAsalariadoconcuatroargumentos
//estableceelsalario
publicvoidestablecerSalarioSemanal(doublesalario)
{
salarioSemanal=salario<0.0?0.0:salario;
}//findelmétodoestablecerSalarioSemanal
//devuelveelsalario
publicdoubleobtenerSalarioSemanal()
{
returnsalarioSemanal;
}//findelmétodoobtenerSalarioSemanal
//calculalosingresos;sobrescribeelmétodoabstractoingresosenEmpleado
publicdoubleingresos()
{
returnobtenerSalarioSemanal();
}//findelmétodoingresos
//devuelverepresentaciónStringdeunobjetoEmpleadoAsalariado
publicStringtoString()
{
returnString.format("empleadoasalariado:%sn%s:$%,.2f",
super.toString(),"salariosemanal",obtenerSalarioSemanal());
}//findelmétodotoString
}//findelaclaseEmpleadoAsalariado
IngenieríaenAnimación Digital
y EfectosVisuales
Asignatura: ProgramaciónOrientadaaObjetos
Profesor: ISC.LizbethHernándezOlán
UnidadIV Polimorfismo Fecha: 31/05/2017
Practica 1 EmpleadoPorHoras Página 5 de 2
No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús
1.EnunciadodelProblema.
Realizarelprograma10.6.
2.CódigoFuente
//RODRIGOLARAGARCIA-16080599-PRACTICA1
//Fig.10.6:EmpleadoPorHoras.java
//LaclaseEmpleadoPorHorasextiendeaEmpleado.
publicclassEmpleadoPorHorasextendsEmpleado
{
privatedoublesueldo;//sueldoporhora
privatedoublehoras;//horastrabajadasporsemana
//constructorconcincoargumentos
publicEmpleadoPorHoras(Stringnombre,Stringapellido,Stringnss,
doublesueldoPorHoras,doublehorasTrabajadas)
{
super(nombre,apellido,nss);
establecerSueldo(sueldoPorHoras);//validayalmacenaelsueldoporhoras
establecerHoras(horasTrabajadas);//validayalmacenalashorastrabajadas
}//findelconstructordeEmpleadoPorHorasconcincoargumentos
//estableceelsueldo
publicvoidestablecerSueldo(doublesueldoPorHoras)
{
sueldo=(sueldoPorHoras<0.0)?0.0:sueldoPorHoras;
}//findelmétodoestablecerSueldo
//devuelveelsueldo
publicdoubleobtenerSueldo()
{
returnsueldo;
}//findelmétodoobtenerSueldo
//establecelashorastrabajadas
publicvoidestablecerHoras(doublehorasTrabajadas)
{
horas=((horasTrabajadas>=0.0)&&(horasTrabajadas<=168.0))?
horasTrabajadas:0.0;
}//findelmétodoestablecerHoras
//devuelvelashorastrabajadas
publicdoubleobtenerHoras()
{
returnhoras;
}//findelmétodoobtenerHoras
//calculalosingresos;sobrescribeelmétodoabstractoingresosenEmpleado
publicdoubleingresos()
{
if(obtenerHoras()<=40)//nohaytiempoextra
returnobtenerSueldo()*obtenerHoras();
else
return40*obtenerSueldo()+(obtenerHoras()-40)*obtenerSueldo()*1.5;
}//findelmétodoingresos
//devuelverepresentaciónStringdeunobjetoEmpleadoPorHoras
publicStringtoString()
{
returnString.format("empleadoporhoras:%sn%s:$%,.2f;%s:%,.2f",
super.toString(),"sueldoporhora",obtenerSueldo(),
"horastrabajadas",obtenerHoras());
}//findelmétodotoString
}//findelaclaseEmpleadoPorHoras
IngenieríaenAnimación Digital
y EfectosVisuales
Asignatura: ProgramaciónOrientadaaObjetos
Profesor: ISC.LizbethHernándezOlán
UnidadIV Polimorfismo Fecha: 31/05/2017
Practica 1 EmpleadoPorComision Página 7 de 2
No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús
1.EnunciadodelProblema.
Realizarelprograma10.7.
2.CódigoFuente
//RODRIGOLARAGARCIA-16080599-PRACTICA1
//Fig.10.7:EmpleadoPorComision.java
//LaclaseEmpleadoPorComisionextiendeaEmpleado.
publicclassEmpleadoPorComisionextendsEmpleado
{
privatedoubleventasBrutas;//ventastotalesporsemana
privatedoubletarifaComision;//porcentajedecomisión
//constructorconcincoargumentos
publicEmpleadoPorComision(Stringnombre,Stringapellido,Stringnss,
doubleventas,doubletarifa)
{
super(nombre,apellido,nss);
establecerVentasBrutas(ventas);
establecerTarifaComision(tarifa);
}//findelconstructordeEmpleadoPorComisionconcincoargumentos
//establecelatarifadecomisión
publicvoidestablecerTarifaComision(doubletarifa)
{
tarifaComision=(tarifa>0.0&&tarifa<1.0)?tarifa:0.0;
}//findelmétodoestablecerTarifaComision
//devuelvelatarifadecomisión
publicdoubleobtenerTarifaComision()
{
returntarifaComision;
}//findelmétodoobtenerTarifaComision
//estableceelmontodeventasbrutas
publicvoidestablecerVentasBrutas(doubleventas)
{
ventasBrutas=(ventas<0.0)?0.0:ventas;
}//findelmétodoestablecerVentasBrutas
//devuelveelmontodeventasbrutas
publicdoubleobtenerVentasBrutas()
{
returnventasBrutas;
}//findelmétodoobtenerVentasBrutas
//calculalosingresos;sobrescribeelmétodoabstractoingresosenEmpleado
publicdoubleingresos()
{
returnobtenerTarifaComision()*obtenerVentasBrutas();
}//findelmétodoingresos
//devuelverepresentaciónStringdeunobjetoEmpleadoPorComision
publicStringtoString()
{
returnString.format("%s:%sn%s:$%,.2f;%s:%.2f",
"empleadoporcomision",super.toString(),
"ventasbrutas",obtenerVentasBrutas(),
"tarifadecomision",obtenerTarifaComision());
}//findelmétodotoString
}//findelaclaseEmpleadoPorComision
IngenieríaenAnimación Digital
y EfectosVisuales
Asignatura: ProgramaciónOrientadaaObjetos
Profesor: ISC.LizbethHernándezOlán
UnidadIV Polimorfismo Fecha: 31/05/2017
Practica 1 EmpleadoBaseMasComision Página 9 de 2
No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús
1.EnunciadodelProblema.
Realizarelprograma10.8.
2.CódigoFuente
//RODRIGOLARAGARCIA-16080599-PRACTICA1
//Fig.10.8:EmpleadoBaseMasComision.java
//LaclaseEmpleadoBaseMasComisionextiendeaEmpleadoPorComision.
publicclassEmpleadoBaseMasComisionextendsEmpleadoPorComision
{
privatedoublesalarioBase;//salariobaseporsemana
//constructorconseisargumentos
publicEmpleadoBaseMasComision(Stringnombre,Stringapellido,
Stringnss,doubleventas,doubletarifa,doublesalario)
{
super(nombre,apellido,nss,ventas,tarifa);
establecerSalarioBase(salario);//validayalmacenaelsalariobase
}//findelconstructordeEmpleadoBaseMasComisionconseisargumentos
//estableceelsalariobase
publicvoidestablecerSalarioBase(doublesalario)
{
salarioBase=(salario<0.0)?0.0:salario;//positivo
}//findelmétodoestablecerSalarioBase
//devuelveelsalariobase
publicdoubleobtenerSalarioBase()
{
returnsalarioBase;
}//findelmétodoobtenerSalarioBase
//calculalosingresos;sobrescribeelmétodoingresosenEmpleadoPorComision
publicdoubleingresos()
{
returnobtenerSalarioBase()+super.ingresos();
}//findelmétodoingresos
//devuelverepresentaciónStringdeunobjetoEmpleadoBaseMasComision
publicStringtoString()
{
returnString.format("%s%s;%s:$%,.2f",
"consalariobase",super.toString(),
"salariobase",obtenerSalarioBase());
}//findelmétodotoString
}//findelaclaseEmpleadoBaseMasComision
IngenieríaenAnimación Digital
y EfectosVisuales
Asignatura: ProgramaciónOrientadaaObjetos
Profesor: ISC.LizbethHernándezOlán
UnidadIV Polimorfismo Fecha: 31/05/2017
Practica 1 PruebaSistemaNomina Página 10 de 2
No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús
1.EnunciadodelProblema.
Realizarelprograma10.9ymostrarenpantallalosresultados.
2.CódigoFuente
//RODRIGOLARAGARCIA-16080599-PRACTICA1
//Fig.10.9:PruebaSistemaNomina.java
//ProgramadepruebaparalajerarquíadeEmpleado.
publicclassPruebaSistemaNomina
{
publicstaticvoidmain(Stringargs[])
{
//creaobjetosdelassubclases
EmpleadoAsalariadoempleadoAsalariado=newEmpleadoAsalariado("John","Smith","111-11-1111",800.00);
EmpleadoPorHorasempleadoPorHoras=newEmpleadoPorHoras("Karen","Price","222-22-2222",16.75,40);
EmpleadoPorComisionempleadoPorComision=newEmpleadoPorComision("Sue","Jones","333-33-3333",10000,.06);
EmpleadoBaseMasComision empleadoBaseMasComision = new EmpleadoBaseMasComision("Bob", "Lewis", "444-44-4444",
5000,.04,300);
System.out.println("Empleadosprocesadosporseparado:n");
System.out.printf("%sn%s:$%,.2fnn",empleadoAsalariado,"ingresos",empleadoAsalariado.ingresos());
System.out.printf("%sn%s:$%,.2fnn",empleadoPorHoras,"ingresos",empleadoPorHoras.ingresos());
System.out.printf("%sn%s:$%,.2fnn",empleadoPorComision,"ingresos",empleadoPorComision.ingresos());
System.out.printf("%sn%s:$%,.2fnn",empleadoBaseMasComision,"ingresos",empleadoBaseMasComision.ingresos());
//creaunarregloEmpleadodecuatroelementos
Empleadoempleados[]=newEmpleado[4];
//inicializaelarregloconobjetosEmpleado
empleados[0]=empleadoAsalariado;
empleados[1]=empleadoPorHoras;
empleados[2]=empleadoPorComision;
empleados[3]=empleadoBaseMasComision;
System.out.println("Empleadosprocesadosenformapolimorfica:n");
//procesaenformagenéricaacadaelementoenelarreglodeempleados
for(EmpleadoempleadoActual:empleados)
{
System.out.println(empleadoActual);//invocaatoString
//determinasielelementoesunEmpleadoBaseMasComision
if(empleadoActualinstanceofEmpleadoBaseMasComision)
{
//conversióndescendentedelareferenciadeEmpleado
//aunareferenciadeEmpleadoBaseMasComision
EmpleadoBaseMasComisionempleado=(EmpleadoBaseMasComision)empleadoActual;
doublesalarioBaseAnterior=empleado.obtenerSalarioBase();
empleado.establecerSalarioBase(1.10*salarioBaseAnterior);
System.out.printf("elnuevosalariobasecon10%%deaumentoes:$%,.2fn",empleado.obtenerSalarioBase());
}//findeif
System.out.printf("ingresos$%,.2fnn",empleadoActual.ingresos());
}//findefor
//obtieneelnombredeltipodecadaobjetoenelarreglodeempleados
for(intj=0;j<empleados.length;j++)
System.out.printf("Elempleado%desun%sn",j,
empleados[j].getClass().getName());
}//findemain
}
3.Impresióndepantalla,sóloelresultadoobtenido(noimpresionesdecódigo)

Más contenido relacionado

DOC
Poo practica 1 u4 claudia
DOC
7 practica 7 u2 poo rodrigo
DOC
3 practica 3 u2 poo
DOC
10 practica 10 u2 poo rodrigo
DOC
6 practica 6 u2 poo rodrigo
Poo practica 1 u4 claudia
7 practica 7 u2 poo rodrigo
3 practica 3 u2 poo
10 practica 10 u2 poo rodrigo
6 practica 6 u2 poo rodrigo

Similar a Poo practica 1 u4 rodrigo (20)

DOCX
Portafolio poo
PDF
Practica 2 u5 claudia
DOCX
Villegas cardosa felipe de jesus
DOCX
Practica 4 unidad 2
DOCX
Practica 4-unidad-2
DOC
Practica 3 u2 poo
DOC
Practica 3 unidad2- poo
DOC
DOC
5 practica 5 u2 poo rodrigo
DOC
Practica 6 u2 poo
DOC
4 practica 4 u2 poo
DOC
2 practica 2 u2 poo
DOCX
Portafolio unidad 3 cesar adrian barrios alarcon
DOC
Practica 3 unidad2- poo
DOCX
Practica 4 unidad 2
DOC
11 practica 11 u2 poo rodrigo
DOC
Practica 10 claudia
DOCX
Practica 1 u2 poo
Portafolio poo
Practica 2 u5 claudia
Villegas cardosa felipe de jesus
Practica 4 unidad 2
Practica 4-unidad-2
Practica 3 u2 poo
Practica 3 unidad2- poo
5 practica 5 u2 poo rodrigo
Practica 6 u2 poo
4 practica 4 u2 poo
2 practica 2 u2 poo
Portafolio unidad 3 cesar adrian barrios alarcon
Practica 3 unidad2- poo
Practica 4 unidad 2
11 practica 11 u2 poo rodrigo
Practica 10 claudia
Practica 1 u2 poo
Publicidad

Más de Rodrigo Lara (20)

PDF
Apuntes 5
PDF
Resumen 4
PDF
Operadores 3
PDF
Ejercicio 2
PDF
Autoevaluacion 1
PDF
Practica 5 poo
PDF
Practica 4 poo
PDF
Practica 3 poo
PDF
Practica 2 poo
PDF
Practica 1 poo
DOC
Unidad 4 dibujos poo claudia
DOC
Unidad 4 preguntas poo claudia
DOC
Unidad 4 dibujos poo rodrigo
DOC
Unidad 4 preguntas poo rodrigo
DOCX
Cuestionario poo
DOC
9 practica 9 u2 poo rodrigo
DOC
8 practica 8 u2 poo rodrigo
DOC
1 practica 1 u2 poo
DOCX
8.0 miembros static
DOCX
7.0 pract. 10 a
Apuntes 5
Resumen 4
Operadores 3
Ejercicio 2
Autoevaluacion 1
Practica 5 poo
Practica 4 poo
Practica 3 poo
Practica 2 poo
Practica 1 poo
Unidad 4 dibujos poo claudia
Unidad 4 preguntas poo claudia
Unidad 4 dibujos poo rodrigo
Unidad 4 preguntas poo rodrigo
Cuestionario poo
9 practica 9 u2 poo rodrigo
8 practica 8 u2 poo rodrigo
1 practica 1 u2 poo
8.0 miembros static
7.0 pract. 10 a
Publicidad

Último (20)

PDF
Diapositiva proyecto de vida, materia catedra
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PDF
MANUAL de recursos humanos para ODOO.pdf
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
PDF
Teoría de estadística descriptiva y aplicaciones .pdf
PDF
Distribucion de frecuencia exel (1).pdf
PPTX
Control de calidad en productos de frutas
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PPTX
modulo seguimiento 1 para iniciantes del
PPT
Protocolos de seguridad y mecanismos encriptación
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
ccna: redes de nat ipv4 stharlling cande
Diapositiva proyecto de vida, materia catedra
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Estrategia de Apoyo de Daylin Castaño (5).pdf
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
Mecanismos-de-Propagacion de ondas electromagneticas
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
MANUAL de recursos humanos para ODOO.pdf
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
Teoría de estadística descriptiva y aplicaciones .pdf
Distribucion de frecuencia exel (1).pdf
Control de calidad en productos de frutas
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
modulo seguimiento 1 para iniciantes del
Protocolos de seguridad y mecanismos encriptación
informe_fichas1y2_corregido.docx (2) (1).pdf
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Historia Inteligencia Artificial Ana Romero.pptx
TRABAJO DE TECNOLOGIA.pdf...........................
ccna: redes de nat ipv4 stharlling cande

Poo practica 1 u4 rodrigo

  • 1. IngenieríaenAnimación Digital y EfectosVisuales Asignatura: ProgramaciónOrientadaaObjetos Profesor: ISC.LizbethHernándezOlán UnidadIV Polimorfismo Fecha: 31/05/2017 Practica 1 PruebaPolimorfismo Página 1 de 2 No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús 1.EnunciadodelProblema. Realizarelprograma10.1. 2.CódigoFuente //RODRIGOLARAGARCIA-16080599-PRACTICA1 //Fig.10.1:PruebaPolimorfismo.java //Asignacióndereferenciasalasuperclaseylasubclase,a //variablesdelasuperclaseylasubclase. publicclassPruebaPolimorfismo { publicstaticvoidmain(Stringargs[]) { //asignalareferenciaalasuperclaseaunavariabledelasuperclase EmpleadoPorComision3empleadoPorComision=newEmpleadoPorComision3("Sue","Jones","222-22-2222",10000,.06); //asignalareferenciaalasubclaseaunavariabledelasubclase EmpleadoBaseMasComision4 empleadoBaseMasComision =new EmpleadoBaseMasComision4("Bob", "Lewis", "333-33-3333", 5000,.04,300); //invocaatoStringenunobjetodelasuperclase,usandounavariabledelasuperclase System.out.printf( "%s %s:nn%snn","Llamada a toString de EmpleadoPorComision3 con referencia de superclase ","a un objetodelasuperclase",empleadoPorComision.toString()); //invocaatoStringenunobjetodelasubclase,usandounavariabledelasubclase System.out.printf("%s%s:nn%snn","LlamadaatoStringdeEmpleadoBaseMasComision4conreferencia","desubclaseaun objetodelasubclase",empleadoBaseMasComision.toString()); //invocaatoStringenunobjetodelasubclase,usandounavariabledelasuperclase EmpleadoPorComision3empleadoPorComision2=newEmpleadoBaseMasComision; System.out.printf("%s %s:nn%sn","Llamada a toString de EmpleadoBaseMasComision4 con referencia de superclase","a un objetodelasubclase",empleadoPorComision2.toString()); }//findemain }//findelaclasePruebaPolimorfismo
  • 2. IngenieríaenAnimación Digital y EfectosVisuales Asignatura: ProgramaciónOrientadaaObjetos Profesor: ISC.LizbethHernándezOlán UnidadIV Polimorfismo Fecha: 31/05/2017 Practica 1 Empleado Página 2 de 2 No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús 1.EnunciadodelProblema. Realizarelprograma10.4. 2.CódigoFuente //RODRIGOLARAGARCIA-16080599-PRACTICA1 //Fig.10.4:Empleado.java //LasuperclaseabstractaEmpleado. publicabstractclassEmpleado { privateStringprimerNombre; privateStringapellidoPaterno; privateStringnumeroSeguroSocial; //constructorcontresargumentos publicEmpleado(Stringnombre,Stringapellido,Stringnss) { primerNombre=nombre; apellidoPaterno=apellido; numeroSeguroSocial=nss; }//findelconstructordeEmpleadocontresargumentos //estableceelprimernombre publicvoidestablecerPrimerNombre(Stringnombre) { primerNombre=nombre; }//findelmétodoestablecerPrimerNombre //devuelveelprimernombre publicStringobtenerPrimerNombre() { returnprimerNombre; }//findelmétodoobtenerPrimerNombre //estableceelapellidopaterno publicvoidestablecerApellidoPaterno(Stringapellido) { apellidoPaterno=apellido; }//findelmétodoestablecerApellidoPaterno //devuelveelapellidopaterno publicStringobtenerApellidoPaterno() { returnapellidoPaterno; }//findelmétodoobtenerApellidoPaterno //estableceelnúmerodesegurosocial
  • 3. publicvoidestablecerNumeroSeguroSocial(Stringnss) { numeroSeguroSocial=nss;//debevalidar }//findelmétodoestablecerNumeroSeguroSocial //devuelveelnúmerodesegurosocial publicStringobtenerNumeroSeguroSocial() { returnnumeroSeguroSocial; }//findelmétodoobtenerNumeroSeguroSocial //devuelverepresentaciónStringdeunobjetoEmpleado publicStringtoString() { return String.format( "%s %snnumero de seguro social: %s",obtenerPrimerNombre(), obtenerApellidoPaterno(), obtenerNumeroSeguroSocial()); }//findelmétodotoString //métodoabstractosobrescritoporlassubclases publicabstractdoubleingresos();//aquínohayimplementación }//findelaclaseabstractaEmpleado
  • 4. IngenieríaenAnimación Digital y EfectosVisuales Asignatura: ProgramaciónOrientadaaObjetos Profesor: ISC.LizbethHernándezOlán UnidadIV Polimorfismo Fecha: 31/05/2017 Practica 1 EmpleadoAsalariado Página 4 de 2 No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús 1.EnunciadodelProblema. Realizarelprograma10.5. 2.CódigoFuente //RODRIGOLARAGARCIA-16080599-PRACTICA1 //Fig.10.5:EmpleadoAsalariado.java //LaclaseEmpleadoAsalariadoextiendeaEmpleado. publicclassEmpleadoAsalariadoextendsEmpleado { privatedoublesalarioSemanal; //constructordecuatroargumentos publicEmpleadoAsalariado(Stringnombre,Stringapellido,Stringnss, doublesalario) { super(nombre,apellido,nss);//lospasaalconstructordeEmpleado establecerSalarioSemanal(salario);//validayalmacenaelsalario }//findelconstructordeEmpleadoAsalariadoconcuatroargumentos //estableceelsalario publicvoidestablecerSalarioSemanal(doublesalario) { salarioSemanal=salario<0.0?0.0:salario; }//findelmétodoestablecerSalarioSemanal //devuelveelsalario publicdoubleobtenerSalarioSemanal() { returnsalarioSemanal; }//findelmétodoobtenerSalarioSemanal //calculalosingresos;sobrescribeelmétodoabstractoingresosenEmpleado publicdoubleingresos() { returnobtenerSalarioSemanal(); }//findelmétodoingresos //devuelverepresentaciónStringdeunobjetoEmpleadoAsalariado publicStringtoString() { returnString.format("empleadoasalariado:%sn%s:$%,.2f", super.toString(),"salariosemanal",obtenerSalarioSemanal()); }//findelmétodotoString }//findelaclaseEmpleadoAsalariado
  • 5. IngenieríaenAnimación Digital y EfectosVisuales Asignatura: ProgramaciónOrientadaaObjetos Profesor: ISC.LizbethHernándezOlán UnidadIV Polimorfismo Fecha: 31/05/2017 Practica 1 EmpleadoPorHoras Página 5 de 2 No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús 1.EnunciadodelProblema. Realizarelprograma10.6. 2.CódigoFuente //RODRIGOLARAGARCIA-16080599-PRACTICA1 //Fig.10.6:EmpleadoPorHoras.java //LaclaseEmpleadoPorHorasextiendeaEmpleado. publicclassEmpleadoPorHorasextendsEmpleado { privatedoublesueldo;//sueldoporhora privatedoublehoras;//horastrabajadasporsemana //constructorconcincoargumentos publicEmpleadoPorHoras(Stringnombre,Stringapellido,Stringnss, doublesueldoPorHoras,doublehorasTrabajadas) { super(nombre,apellido,nss); establecerSueldo(sueldoPorHoras);//validayalmacenaelsueldoporhoras establecerHoras(horasTrabajadas);//validayalmacenalashorastrabajadas }//findelconstructordeEmpleadoPorHorasconcincoargumentos //estableceelsueldo publicvoidestablecerSueldo(doublesueldoPorHoras) { sueldo=(sueldoPorHoras<0.0)?0.0:sueldoPorHoras; }//findelmétodoestablecerSueldo //devuelveelsueldo publicdoubleobtenerSueldo() { returnsueldo; }//findelmétodoobtenerSueldo //establecelashorastrabajadas publicvoidestablecerHoras(doublehorasTrabajadas) { horas=((horasTrabajadas>=0.0)&&(horasTrabajadas<=168.0))? horasTrabajadas:0.0; }//findelmétodoestablecerHoras //devuelvelashorastrabajadas publicdoubleobtenerHoras() { returnhoras; }//findelmétodoobtenerHoras
  • 7. IngenieríaenAnimación Digital y EfectosVisuales Asignatura: ProgramaciónOrientadaaObjetos Profesor: ISC.LizbethHernándezOlán UnidadIV Polimorfismo Fecha: 31/05/2017 Practica 1 EmpleadoPorComision Página 7 de 2 No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús 1.EnunciadodelProblema. Realizarelprograma10.7. 2.CódigoFuente //RODRIGOLARAGARCIA-16080599-PRACTICA1 //Fig.10.7:EmpleadoPorComision.java //LaclaseEmpleadoPorComisionextiendeaEmpleado. publicclassEmpleadoPorComisionextendsEmpleado { privatedoubleventasBrutas;//ventastotalesporsemana privatedoubletarifaComision;//porcentajedecomisión //constructorconcincoargumentos publicEmpleadoPorComision(Stringnombre,Stringapellido,Stringnss, doubleventas,doubletarifa) { super(nombre,apellido,nss); establecerVentasBrutas(ventas); establecerTarifaComision(tarifa); }//findelconstructordeEmpleadoPorComisionconcincoargumentos //establecelatarifadecomisión publicvoidestablecerTarifaComision(doubletarifa) { tarifaComision=(tarifa>0.0&&tarifa<1.0)?tarifa:0.0; }//findelmétodoestablecerTarifaComision //devuelvelatarifadecomisión publicdoubleobtenerTarifaComision() { returntarifaComision; }//findelmétodoobtenerTarifaComision //estableceelmontodeventasbrutas publicvoidestablecerVentasBrutas(doubleventas) { ventasBrutas=(ventas<0.0)?0.0:ventas; }//findelmétodoestablecerVentasBrutas //devuelveelmontodeventasbrutas publicdoubleobtenerVentasBrutas() { returnventasBrutas; }//findelmétodoobtenerVentasBrutas //calculalosingresos;sobrescribeelmétodoabstractoingresosenEmpleado publicdoubleingresos()
  • 9. IngenieríaenAnimación Digital y EfectosVisuales Asignatura: ProgramaciónOrientadaaObjetos Profesor: ISC.LizbethHernándezOlán UnidadIV Polimorfismo Fecha: 31/05/2017 Practica 1 EmpleadoBaseMasComision Página 9 de 2 No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús 1.EnunciadodelProblema. Realizarelprograma10.8. 2.CódigoFuente //RODRIGOLARAGARCIA-16080599-PRACTICA1 //Fig.10.8:EmpleadoBaseMasComision.java //LaclaseEmpleadoBaseMasComisionextiendeaEmpleadoPorComision. publicclassEmpleadoBaseMasComisionextendsEmpleadoPorComision { privatedoublesalarioBase;//salariobaseporsemana //constructorconseisargumentos publicEmpleadoBaseMasComision(Stringnombre,Stringapellido, Stringnss,doubleventas,doubletarifa,doublesalario) { super(nombre,apellido,nss,ventas,tarifa); establecerSalarioBase(salario);//validayalmacenaelsalariobase }//findelconstructordeEmpleadoBaseMasComisionconseisargumentos //estableceelsalariobase publicvoidestablecerSalarioBase(doublesalario) { salarioBase=(salario<0.0)?0.0:salario;//positivo }//findelmétodoestablecerSalarioBase //devuelveelsalariobase publicdoubleobtenerSalarioBase() { returnsalarioBase; }//findelmétodoobtenerSalarioBase //calculalosingresos;sobrescribeelmétodoingresosenEmpleadoPorComision publicdoubleingresos() { returnobtenerSalarioBase()+super.ingresos(); }//findelmétodoingresos //devuelverepresentaciónStringdeunobjetoEmpleadoBaseMasComision publicStringtoString() { returnString.format("%s%s;%s:$%,.2f", "consalariobase",super.toString(), "salariobase",obtenerSalarioBase()); }//findelmétodotoString }//findelaclaseEmpleadoBaseMasComision
  • 10. IngenieríaenAnimación Digital y EfectosVisuales Asignatura: ProgramaciónOrientadaaObjetos Profesor: ISC.LizbethHernándezOlán UnidadIV Polimorfismo Fecha: 31/05/2017 Practica 1 PruebaSistemaNomina Página 10 de 2 No.Control 16080599 NombredelAlumno LaraGarcíaRodrigodeJesús 1.EnunciadodelProblema. Realizarelprograma10.9ymostrarenpantallalosresultados. 2.CódigoFuente //RODRIGOLARAGARCIA-16080599-PRACTICA1 //Fig.10.9:PruebaSistemaNomina.java //ProgramadepruebaparalajerarquíadeEmpleado. publicclassPruebaSistemaNomina { publicstaticvoidmain(Stringargs[]) { //creaobjetosdelassubclases EmpleadoAsalariadoempleadoAsalariado=newEmpleadoAsalariado("John","Smith","111-11-1111",800.00); EmpleadoPorHorasempleadoPorHoras=newEmpleadoPorHoras("Karen","Price","222-22-2222",16.75,40); EmpleadoPorComisionempleadoPorComision=newEmpleadoPorComision("Sue","Jones","333-33-3333",10000,.06); EmpleadoBaseMasComision empleadoBaseMasComision = new EmpleadoBaseMasComision("Bob", "Lewis", "444-44-4444", 5000,.04,300); System.out.println("Empleadosprocesadosporseparado:n"); System.out.printf("%sn%s:$%,.2fnn",empleadoAsalariado,"ingresos",empleadoAsalariado.ingresos()); System.out.printf("%sn%s:$%,.2fnn",empleadoPorHoras,"ingresos",empleadoPorHoras.ingresos()); System.out.printf("%sn%s:$%,.2fnn",empleadoPorComision,"ingresos",empleadoPorComision.ingresos()); System.out.printf("%sn%s:$%,.2fnn",empleadoBaseMasComision,"ingresos",empleadoBaseMasComision.ingresos()); //creaunarregloEmpleadodecuatroelementos Empleadoempleados[]=newEmpleado[4]; //inicializaelarregloconobjetosEmpleado empleados[0]=empleadoAsalariado; empleados[1]=empleadoPorHoras; empleados[2]=empleadoPorComision; empleados[3]=empleadoBaseMasComision; System.out.println("Empleadosprocesadosenformapolimorfica:n"); //procesaenformagenéricaacadaelementoenelarreglodeempleados for(EmpleadoempleadoActual:empleados) { System.out.println(empleadoActual);//invocaatoString //determinasielelementoesunEmpleadoBaseMasComision if(empleadoActualinstanceofEmpleadoBaseMasComision) { //conversióndescendentedelareferenciadeEmpleado //aunareferenciadeEmpleadoBaseMasComision EmpleadoBaseMasComisionempleado=(EmpleadoBaseMasComision)empleadoActual; doublesalarioBaseAnterior=empleado.obtenerSalarioBase();