SlideShare una empresa de Scribd logo
1 de 7
IngenieríaenAnimación Digital
y EfectosVisuales
Asignatura: ProgramaciónOrientadaaObjetos
Profesor: ISC.LizbethHernándezOlán
Unidad4 Polimorfismo Fecha: 31/05/17
Practica 1 Polimorfismo Página 1 de 7
No.Control 16081852 NombredelAlumno NEQUIZORTIZURIEL
1.EnuciadodelProblema.
Vamosaverificarporquealgunosprogramasnologranejecutarse.
2.CódigoFuente
//*practica1//
// NEQUIZORTIZURIEL.//
//Num.Control: 16081852//
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()
{
returnString.format("%s%snnumerodesegurosocial:%s",
obtenerPrimerNombre(),obtenerApellidoPaterno(),obtenerNumeroSeguroSocial());
}//findelmétodotoString
//métodoabstractosobrescritoporlassubclases
publicabstractdoubleingresos();//aquínohayimplementación
}
publicclassEmpleadoAsalariadoextendsEmpleado
{
privatedoublesalarioSemanal;
//constructordecuatroargumentos
publicEmpleadoAsalariado(Stringnombre,Stringapellido,Stringnss,
doublesalario)
{
super(nombre,apellido,nss);//lospasaalconstructordeEmpleado
establecerSalarioSemanal(salario);//validayalmacenaelsalario
}//findelconstructordeEmpleadoAsalariadoconcuatroargumentos
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
}
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
}
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
}
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
}
//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
}
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);
EmpleadoBaseMasComisionempleadoBaseMasComision=
newEmpleadoBaseMasComision(
"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.Impresiondepantalla,sóloelresultadoobtenido(noimpresionesdecódigo)
Practia 1 u 4 alda

Más contenido relacionado

Similar a Practia 1 u 4 alda (20)

Practica 9-unidad-2
Practica 9-unidad-2Practica 9-unidad-2
Practica 9-unidad-2
 
Practica 4 unidad 2
Practica 4   unidad 2Practica 4   unidad 2
Practica 4 unidad 2
 
Prac1
Prac1Prac1
Prac1
 
Poo practica-1-u2
Poo practica-1-u2Poo practica-1-u2
Poo practica-1-u2
 
Practica 4 unidad 2
Practica 4   unidad 2Practica 4   unidad 2
Practica 4 unidad 2
 
Practica 8
Practica 8 Practica 8
Practica 8
 
Practica 4 de poo
Practica 4 de pooPractica 4 de poo
Practica 4 de poo
 
Practica 5 unidad 2
Practica 5   unidad 2Practica 5   unidad 2
Practica 5 unidad 2
 
Practica 11 u2 poo claudia
Practica 11 u2 poo claudiaPractica 11 u2 poo claudia
Practica 11 u2 poo claudia
 
Practica 2
Practica 2Practica 2
Practica 2
 
Practica 7 unidad 2
Practica 7 unidad 2Practica 7 unidad 2
Practica 7 unidad 2
 
Practica 11
Practica 11Practica 11
Practica 11
 
Practica 5
Practica 5Practica 5
Practica 5
 
1
11
1
 
Practica 8 unidad 2 poo
Practica 8   unidad 2 poo Practica 8   unidad 2 poo
Practica 8 unidad 2 poo
 
Practica 9 -unidad 2
Practica 9   -unidad 2Practica 9   -unidad 2
Practica 9 -unidad 2
 
Prac1
Prac1Prac1
Prac1
 
Practica 6-unidad-2
Practica 6-unidad-2Practica 6-unidad-2
Practica 6-unidad-2
 
Practica 5 u2 poo
Practica 5 u2 pooPractica 5 u2 poo
Practica 5 u2 poo
 
Practica 7 unidad 2
Practica 7 unidad 2Practica 7 unidad 2
Practica 7 unidad 2
 

Más de NEQUIZ URIEL (20)

Ortiz enciso antonio aldahir evidencias innovacion
Ortiz enciso antonio aldahir evidencias innovacionOrtiz enciso antonio aldahir evidencias innovacion
Ortiz enciso antonio aldahir evidencias innovacion
 
Preguntas unidad 4
Preguntas unidad 4Preguntas unidad 4
Preguntas unidad 4
 
Practica 1 u4
Practica 1   u4Practica 1   u4
Practica 1 u4
 
Prac 2 nequiz
Prac 2 nequizPrac 2 nequiz
Prac 2 nequiz
 
Prac 1 nequiz
Prac 1 nequizPrac 1 nequiz
Prac 1 nequiz
 
Programacin orientada-a-objetos-1-170406185603
Programacin orientada-a-objetos-1-170406185603Programacin orientada-a-objetos-1-170406185603
Programacin orientada-a-objetos-1-170406185603
 
Prac 2 alda
Prac 2 aldaPrac 2 alda
Prac 2 alda
 
Prac 1 alda
Prac 1 aldaPrac 1 alda
Prac 1 alda
 
Preguntas unidad 4
Preguntas unidad 4Preguntas unidad 4
Preguntas unidad 4
 
Preguntas practica-3
Preguntas practica-3Preguntas practica-3
Preguntas practica-3
 
Practica4
Practica4Practica4
Practica4
 
Prac7
Prac7Prac7
Prac7
 
Prac6
Prac6Prac6
Prac6
 
Prac5
Prac5Prac5
Prac5
 
Prac3
Prac3Prac3
Prac3
 
Prac2
Prac2Prac2
Prac2
 
Preguntas practica-3
Preguntas practica-3Preguntas practica-3
Preguntas practica-3
 
Practica 7
Practica 7Practica 7
Practica 7
 
Practica 6
Practica 6Practica 6
Practica 6
 
Practica 5
Practica 5Practica 5
Practica 5
 

Último

COMO ANALIZAR LA COYUNTURA 2024 ANALISIS ECONOMICO Y POLITICO.pdf
COMO ANALIZAR LA COYUNTURA 2024 ANALISIS ECONOMICO Y POLITICO.pdfCOMO ANALIZAR LA COYUNTURA 2024 ANALISIS ECONOMICO Y POLITICO.pdf
COMO ANALIZAR LA COYUNTURA 2024 ANALISIS ECONOMICO Y POLITICO.pdf
MilkyWive
 
EXPOSICIÓN ANTE LOS COMANDANTES DE ZONA Y GRANDES UNIDADES_NUEVAS.pptx
EXPOSICIÓN ANTE LOS COMANDANTES DE ZONA Y GRANDES UNIDADES_NUEVAS.pptxEXPOSICIÓN ANTE LOS COMANDANTES DE ZONA Y GRANDES UNIDADES_NUEVAS.pptx
EXPOSICIÓN ANTE LOS COMANDANTES DE ZONA Y GRANDES UNIDADES_NUEVAS.pptx
lider141001
 
TEMARIO 2023 DE HISTORIA DE ESPAÑA-TEMAS IMÁGENES (1).docx
TEMARIO 2023 DE HISTORIA DE ESPAÑA-TEMAS IMÁGENES  (1).docxTEMARIO 2023 DE HISTORIA DE ESPAÑA-TEMAS IMÁGENES  (1).docx
TEMARIO 2023 DE HISTORIA DE ESPAÑA-TEMAS IMÁGENES (1).docx
BeatrizMateosLara
 

Último (19)

PROTOCOLO DE RESPUESTA PARA LLAMADAS DE EMERGENCIA AL 911.docx
PROTOCOLO DE RESPUESTA PARA LLAMADAS DE EMERGENCIA AL 911.docxPROTOCOLO DE RESPUESTA PARA LLAMADAS DE EMERGENCIA AL 911.docx
PROTOCOLO DE RESPUESTA PARA LLAMADAS DE EMERGENCIA AL 911.docx
 
2023 - HOSTIGAMIENTO SEXUAL - DIAPOSITIVAS.ppt
2023 - HOSTIGAMIENTO SEXUAL   - DIAPOSITIVAS.ppt2023 - HOSTIGAMIENTO SEXUAL   - DIAPOSITIVAS.ppt
2023 - HOSTIGAMIENTO SEXUAL - DIAPOSITIVAS.ppt
 
el nuevo sistema de salud latinoamerica.pptx
el nuevo sistema de salud latinoamerica.pptxel nuevo sistema de salud latinoamerica.pptx
el nuevo sistema de salud latinoamerica.pptx
 
COMO ANALIZAR LA COYUNTURA 2024 ANALISIS ECONOMICO Y POLITICO.pdf
COMO ANALIZAR LA COYUNTURA 2024 ANALISIS ECONOMICO Y POLITICO.pdfCOMO ANALIZAR LA COYUNTURA 2024 ANALISIS ECONOMICO Y POLITICO.pdf
COMO ANALIZAR LA COYUNTURA 2024 ANALISIS ECONOMICO Y POLITICO.pdf
 
005. - Curso de modernización del Estado 2024.pdf
005. - Curso de modernización del Estado 2024.pdf005. - Curso de modernización del Estado 2024.pdf
005. - Curso de modernización del Estado 2024.pdf
 
HACIEDA MUNICIPAL 1ER TRIMESTRE 2024.pdf
HACIEDA MUNICIPAL 1ER TRIMESTRE 2024.pdfHACIEDA MUNICIPAL 1ER TRIMESTRE 2024.pdf
HACIEDA MUNICIPAL 1ER TRIMESTRE 2024.pdf
 
EXPOSICIÓN ANTE LOS COMANDANTES DE ZONA Y GRANDES UNIDADES_NUEVAS.pptx
EXPOSICIÓN ANTE LOS COMANDANTES DE ZONA Y GRANDES UNIDADES_NUEVAS.pptxEXPOSICIÓN ANTE LOS COMANDANTES DE ZONA Y GRANDES UNIDADES_NUEVAS.pptx
EXPOSICIÓN ANTE LOS COMANDANTES DE ZONA Y GRANDES UNIDADES_NUEVAS.pptx
 
MAPA DE JILOTEPEC SECTORIAL DIVIDIDO POR SECTORES
MAPA DE JILOTEPEC SECTORIAL DIVIDIDO POR SECTORESMAPA DE JILOTEPEC SECTORIAL DIVIDIDO POR SECTORES
MAPA DE JILOTEPEC SECTORIAL DIVIDIDO POR SECTORES
 
TEMARIO 2023 DE HISTORIA DE ESPAÑA-TEMAS IMÁGENES (1).docx
TEMARIO 2023 DE HISTORIA DE ESPAÑA-TEMAS IMÁGENES  (1).docxTEMARIO 2023 DE HISTORIA DE ESPAÑA-TEMAS IMÁGENES  (1).docx
TEMARIO 2023 DE HISTORIA DE ESPAÑA-TEMAS IMÁGENES (1).docx
 
PRESENTACION Plan de Desarrollo Municipal 2024-2027 AL CTP.pptx
PRESENTACION Plan de Desarrollo Municipal 2024-2027 AL CTP.pptxPRESENTACION Plan de Desarrollo Municipal 2024-2027 AL CTP.pptx
PRESENTACION Plan de Desarrollo Municipal 2024-2027 AL CTP.pptx
 
Contrataciones del Estado, Administración Pública
Contrataciones del Estado, Administración PúblicaContrataciones del Estado, Administración Pública
Contrataciones del Estado, Administración Pública
 
Club Rotario Cartago - Revista 04-2024.pdf
Club Rotario Cartago - Revista 04-2024.pdfClub Rotario Cartago - Revista 04-2024.pdf
Club Rotario Cartago - Revista 04-2024.pdf
 
Radar de algoritmos de IA y procesos de decisión automatizada para el acceso ...
Radar de algoritmos de IA y procesos de decisión automatizada para el acceso ...Radar de algoritmos de IA y procesos de decisión automatizada para el acceso ...
Radar de algoritmos de IA y procesos de decisión automatizada para el acceso ...
 
SEGUNDO PISO UN ABISMO. RAZONES PARA NO VOTAR POR MORENA
SEGUNDO PISO UN ABISMO. RAZONES PARA NO VOTAR POR MORENASEGUNDO PISO UN ABISMO. RAZONES PARA NO VOTAR POR MORENA
SEGUNDO PISO UN ABISMO. RAZONES PARA NO VOTAR POR MORENA
 
Constitucion y derechos humanos sesion 1.pptx
Constitucion y derechos humanos sesion 1.pptxConstitucion y derechos humanos sesion 1.pptx
Constitucion y derechos humanos sesion 1.pptx
 
Decreto Ejecutivo 255 Reglamento de Seguridad y Salud en el Trabajo
Decreto Ejecutivo 255 Reglamento de Seguridad y Salud en el TrabajoDecreto Ejecutivo 255 Reglamento de Seguridad y Salud en el Trabajo
Decreto Ejecutivo 255 Reglamento de Seguridad y Salud en el Trabajo
 
110º ANIVERSARIO DE CITY BELL: CELEBRACIÓN INTEGRADORA PARA LA COMUNIDAD
110º ANIVERSARIO DE CITY BELL: CELEBRACIÓN INTEGRADORA PARA LA COMUNIDAD110º ANIVERSARIO DE CITY BELL: CELEBRACIÓN INTEGRADORA PARA LA COMUNIDAD
110º ANIVERSARIO DE CITY BELL: CELEBRACIÓN INTEGRADORA PARA LA COMUNIDAD
 
Mapa Mental Edad media y evolución de la ciudadanía
Mapa Mental Edad media y evolución de la ciudadaníaMapa Mental Edad media y evolución de la ciudadanía
Mapa Mental Edad media y evolución de la ciudadanía
 
¿Cuáles son los desafíos que enfrentan los periodistas al investigar sobre el...
¿Cuáles son los desafíos que enfrentan los periodistas al investigar sobre el...¿Cuáles son los desafíos que enfrentan los periodistas al investigar sobre el...
¿Cuáles son los desafíos que enfrentan los periodistas al investigar sobre el...
 

Practia 1 u 4 alda