You are on page 1of 10

Ingeniera en Animacin Digital Asignatura: Programacin Orientada a Objetos

y Efectos Visuales Profesor: ISC. Lizbeth Hernndez Oln


Unidad 4 polimorfismo Fecha: 2/06/17
Practica 1 Empleado Pgina 1 de 10
No. Control 16081846 Nombre del Alumno GARCA GMEZ MARITZA DAYHANA

1. Enunciado del Problema.


Qu resultado se obtiene al realizar las siguientes operaciones?

Si hay errores de compilacin, corregirlos y explicar por qu sucede.

2. Cdigo Fuente

/Fig.10.4:Empleado.java //estableceelapellidopaterno
//LasuperclaseabstractaEmpleado. publicvoidestablecerApellidoPaterno(Stringapellido)
{
publicabstractclassEmpleado apellidoPaterno=apellido;
{ }//findelmtodoestablecerApellidoPaterno
privateStringprimerNombre; //devuelveelapellidopaterno
privateStringapellidoPaterno; publicStringobtenerApellidoPaterno()
privateStringnumeroSeguroSocial; {
returnapellidoPaterno;
//constructorcontresargumentos }//findelmtodoobtenerApellidoPaterno
publicEmpleado(Stringnombre,Stringapellido,Stringnss) //estableceelnmerodesegurosocial
{ publicvoidestablecerNumeroSeguroSocial(Stringnss)
primerNombre=nombre; {
apellidoPaterno=apellido; numeroSeguroSocial=nss;//debevalidar
numeroSeguroSocial=nss; }//findelmtodoestablecerNumeroSeguroSocial
}//findelconstructordeEmpleadocontresargumentos //devuelveelnmerodesegurosocial
publicStringobtenerNumeroSeguroSocial()
//estableceelprimernombre {
publicvoidestablecerPrimerNombre(Stringnombre) returnnumeroSeguroSocial;
{ }//findelmtodoobtenerNumeroSeguroSocial
primerNombre=nombre; //devuelverepresentacinStringdeunobjetoEmpleado
}//findelmtodoestablecerPrimerNombre publicStringtoString()
{
//devuelveelprimernombre returnString.format("%s%s\nnumerodesegurosocial:%s",
publicStringobtenerPrimerNombre() obtenerPrimerNombre(),obtenerApellidoPaterno(),
{ obtenerNumeroSeguroSocial());
returnprimerNombre; }//findelmtodotoString
}//findelmtodoobtenerPrimerNombre //mtodoabstractosobrescritoporlassubclases
publicabstractdoubleingresos();//aqunohayimplementacin
}//findelaclaseabstractaEmpleado

Asignatura: Programacin Orientada a Objetos


Ingeniera en Animacin Digital Profesor: ISC. Lizbeth Hernndez Oln
y Efectos Visuales
Unidad 3 polimorfismo Fecha: 2/06/17

Practica 1 Empleado asalariado y Empleado base mas comision Pgina 2 de 10

No. Control 16081846 Nombre del Alumno GARCA GMEZ MARITZA DAYHANA

1. Enunciado del Problema.


Qu resultado se obtiene al realizar las siguientes operaciones?

Si hay errores de compilacin, corregirlos y explicar por qu sucede.

2. Cdigo Fuente

//Fig.10.5:EmpleadoAsalariado.java //Fig.10.8:EmpleadoBaseMasComision.java
//LaclaseEmpleadoAsalariadoextiendeaEmpleado. //LaclaseEmpleadoBaseMasComisionextiendeaEmpleadoPorComision.
publicclassEmpleadoBaseMasComisionextendsEmpleadoPorComision
publicclassEmpleadoAsalariadoextendsEmpleado {
{ privatedoublesalarioBase;//salariobaseporsemana
privatedoublesalarioSemanal; //constructorconseisargumentos
publicEmpleadoBaseMasComision(Stringnombre,Stringapellido,
//constructordecuatroargumentos Stringnss,doubleventas,doubletarifa,doublesalario)
publicEmpleadoAsalariado(Stringnombre,Stringapellido,Stringnss, {
doublesalario) super(nombre,apellido,nss,ventas,tarifa);
{ establecerSalarioBase(salario);//validayalmacenaelsalariobase
super(nombre,apellido,nss);//lospasaalconstructordeEmpleado }//findelconstructordeEmpleadoBaseMasComisionconseisargumentos
establecerSalarioSemanal(salario);//validayalmacenaelsalario //estableceelsalariobase
}//findelconstructordeEmpleadoAsalariadoconcuatroargumentos publicvoidestablecerSalarioBase(doublesalario)
{
//estableceelsalario salarioBase=(salario<0.0)?0.0:salario;//positivo
publicvoidestablecerSalarioSemanal(doublesalario) }//findelmtodoestablecerSalarioBase
{ //devuelveelsalariobase
salarioSemanal=salario<0.0?0.0:salario; publicdoubleobtenerSalarioBase()
}//findelmtodoestablecerSalarioSemanal {
//devuelveelsalario returnsalarioBase;
publicdoubleobtenerSalarioSemanal() }//findelmtodoobtenerSalarioBase
{ //calculalosingresos;sobrescribeelmtodoingresosen
returnsalarioSemanal; EmpleadoPorComision
}//findelmtodoobtenerSalarioSemanal publicdoubleingresos()
//calculalosingresos;sobrescribeelmtodoabstractoingresosenEmpleado {
publicdoubleingresos() returnobtenerSalarioBase()+super.ingresos();
{ }//findelmtodoingresos
returnobtenerSalarioSemanal(); //devuelverepresentacinStringdeunobjetoEmpleadoBaseMasComision
}//findelmtodoingresos publicStringtoString()
//devuelverepresentacinStringdeunobjetoEmpleadoAsalariado {
publicStringtoString() returnString.format("%s%s;%s:$%,.2f",
{ "consalariobase",super.toString(),
returnString.format("empleadoasalariado:%s\n%s:$%,.2f", "salariobase",obtenerSalarioBase());
super.toString(),"salariosemanal",obtenerSalarioSemanal()); }//findelmtodotoString
}//findelmtodotoString }//findelaclaseEmpleadoBaseMasComision
}//findelaclaseEmpleadoAsalariado
Ingeniera en Animacin Digital Asignatura: Programacin Orientada a Objetos

y Efectos Visuales Profesor: ISC. Lizbeth Hernndez Oln


Unidad 4 polimorfismo Fecha: 2/06/17
Practica 1 Empleado base mas comisin 3 y 4 Pgina 3 de 10
No. Control 16081846 Nombre del Alumno GARCAGMEZ MARITZADAYHANA

1. Enunciado del Problema.


Qu resultado se obtiene al realizar las siguientes operaciones?

Si hay errores de compilacin, corregirlos y explicar por qu sucede.

2. Cdigo Fuente

//Fig.10.8:EmpleadoBaseMasComision.java //Fig.10.8:EmpleadoBaseMasComision.java
//LaclaseEmpleadoBaseMasComisionextiendeaEmpleadoPorComision. //LaclaseEmpleadoBaseMasComisionextiendeaEmpleadoPorComision.
publicclassEmpleadoBaseMasComision3extendsEmpleadoPorComision publicclassEmpleadoBaseMasComision4extendsEmpleadoPorComision
{ {
privatedoublesalarioBase;//salariobaseporsemana privatedoublesalarioBase;//salariobaseporsemana
//constructorconseisargumentos //constructorconseisargumentos
publicEmpleadoBaseMasComision3(Stringnombre,Stringapellido, publicEmpleadoBaseMasComision4(Stringnombre,Stringapellido,
Stringnss,doubleventas,doubletarifa,doublesalario) Stringnss,doubleventas,doubletarifa,doublesalario)
{ {
super(nombre,apellido,nss,ventas,tarifa); super(nombre,apellido,nss,ventas,tarifa);
establecerSalarioBase(salario);//validayalmacenaelsalariobase establecerSalarioBase(salario);//validayalmacenaelsalariobase
}//findelconstructordeEmpleadoBaseMasComisionconseisargumentos }//findelconstructordeEmpleadoBaseMasComisionconseisargumentos
//estableceelsalariobase //estableceelsalariobase
publicvoidestablecerSalarioBase(doublesalario) publicvoidestablecerSalarioBase(doublesalario)
{ {
salarioBase=(salario<0.0)?0.0:salario;//positivo salarioBase=(salario<0.0)?0.0:salario;//positivo
}//findelmtodoestablecerSalarioBase }//findelmtodoestablecerSalarioBase
//devuelveelsalariobase //devuelveelsalariobase
publicdoubleobtenerSalarioBase() publicdoubleobtenerSalarioBase()
{ {
returnsalarioBase; returnsalarioBase;
}//findelmtodoobtenerSalarioBase }//findelmtodoobtenerSalarioBase
//calculalosingresos;sobrescribeelmtodoingresosen //calculalosingresos;sobrescribeelmtodoingresosen
EmpleadoPorComision EmpleadoPorComision
publicdoubleingresos() publicdoubleingresos()
{ {
returnobtenerSalarioBase()+super.ingresos(); returnobtenerSalarioBase()+super.ingresos();
}//findelmtodoingresos }//findelmtodoingresos
//devuelverepresentacinStringdeunobjetoEmpleadoBaseMasComision //devuelverepresentacinStringdeunobjetoEmpleadoBaseMasComision
publicStringtoString() publicStringtoString()
{ {
returnString.format("%s%s;%s:$%,.2f", returnString.format("%s%s;%s:$%,.2f",
"consalariobase",super.toString(), "consalariobase",super.toString(),
"salariobase",obtenerSalarioBase()); "salariobase",obtenerSalarioBase());
}//findelmtodotoString }//findelmtodotoString
}//findelaclaseEmpleadoBaseMasComision }//findelaclaseEmpleadoBaseMasComision
Ingeniera en Animacin Digital Asignatura: Programacin Orientada a Objetos

y Efectos Visuales Profesor: ISC. Lizbeth Hernndez Oln


Unidad 4 polimorfismo Fecha: 2/06/17
Practica 1 Empleado por cosion y Empleado por comisin 3 Pgina 4 de 10
No. Control 16081846 Nombre del Alumno GARCA GMEZ MARITZA DAYHANA

1. Enunciado del Problema.


Qu resultado se obtiene al realizar las siguientes operaciones?

Si hay errores de compilacin, corregirlos y explicar por qu sucede.

2. Cdigo Fuente

//Fig.10.7:EmpleadoPorComision.java //Fig.10.7:EmpleadoPorComision.java
//LaclaseEmpleadoPorComisionextiendeaEmpleado. //LaclaseEmpleadoPorComision3extiendeaEmpleado.
publicclassEmpleadoPorComisionextendsEmpleado publicclassEmpleadoPorComision3extendsEmpleado
{ {
privatedoubleventasBrutas;//ventastotalesporsemana privatedoubleventasBrutas;//ventastotalesporsemana
privatedoubletarifaComision;//porcentajedecomisin privatedoubletarifaComision;//porcentajedecomisin
//constructorconcincoargumentos //constructorconcincoargumentos
publicEmpleadoPorComision(Stringnombre,Stringapellido,Stringnss, publicEmpleadoPorComision3(Stringnombre,Stringapellido,Stringnss,
doubleventas,doubletarifa) doubleventas,doubletarifa)
{ {
super(nombre,apellido,nss); super(nombre,apellido,nss);
establecerVentasBrutas(ventas); establecerVentasBrutas(ventas);
establecerTarifaComision(tarifa); establecerTarifaComision(tarifa);
}//findelconstructordeEmpleadoPorComisionconcincoargumentos }//findelconstructordeEmpleadoPorComisionconcincoargumentos
//establecelatarifadecomisin //establecelatarifadecomisin
publicvoidestablecerTarifaComision(doubletarifa) publicvoidestablecerTarifaComision(doubletarifa)
{ {
tarifaComision=(tarifa>0.0&&tarifa<1.0)?tarifa:0.0; tarifaComision=(tarifa>0.0&&tarifa<1.0)?tarifa:0.0;
}//findelmtodoestablecerTarifaComision }//findelmtodoestablecerTarifaComision
//devuelvelatarifadecomisin //devuelvelatarifadecomisin
publicdoubleobtenerTarifaComision() publicdoubleobtenerTarifaComision()
{ {
returntarifaComision; returntarifaComision;
}//findelmtodoobtenerTarifaComision }//findelmtodoobtenerTarifaComision
//estableceelmontodeventasbrutas //estableceelmontodeventasbrutas
publicvoidestablecerVentasBrutas(doubleventas) publicvoidestablecerVentasBrutas(doubleventas)
{ {
ventasBrutas=(ventas<0.0)?0.0:ventas; ventasBrutas=(ventas<0.0)?0.0:ventas;
}//findelmtodoestablecerVentasBrutas }//findelmtodoestablecerVentasBrutas
//devuelveelmontodeventasbrutas //devuelveelmontodeventasbrutas
publicdoubleobtenerVentasBrutas() publicdoubleobtenerVentasBrutas()
{ {
returnventasBrutas; returnventasBrutas;
}//findelmtodoobtenerVentasBrutas }//findelmtodoobtenerVentasBrutas
//calculalosingresos;sobrescribeelmtodoabstractoingresosenEmpleado //calculalosingresos;sobrescribeelmtodoabstractoingresosenEmpleado
publicdoubleingresos() publicdoubleingresos()
{ {
returnobtenerTarifaComision()*obtenerVentasBrutas(); returnobtenerTarifaComision()*obtenerVentasBrutas();
}//findelmtodoingresos }//findelmtodoingresos
//devuelverepresentacinStringdeunobjetoEmpleadoPorComision //devuelverepresentacinStringdeunobjetoEmpleadoPorComision
publicStringtoString() publicStringtoString()
{ {
returnString.format("%s:%s\n%s:$%,.2f;%s:%.2f", returnString.format("%s:%s\n%s:$%,.2f;%s:%.2f",
"empleadoporcomision",super.toString(), "empleadoporcomision",super.toString(),
"ventasbrutas",obtenerVentasBrutas(), "ventasbrutas",obtenerVentasBrutas(),
"tarifadecomision",obtenerTarifaComision()); "tarifadecomision",obtenerTarifaComision());
}//findelmtodotoString }//findelmtodotoString
}//findelaclaseEmpleadoPorComision }//findelaclaseEmpleadoPorComision
Ingeniera en Animacin Digital Asignatura: Programacin Orientada a Objetos

y Efectos Visuales Profesor: ISC. Lizbeth Hernndez Oln


Unidad 4 polimorfismo Fecha: 2/06/17
Practica 1 Empleado por comisin 4 y Empleado por horas Pgina 6 de 10
No. Control 16081846 Nombre del Alumno GARCA GMEZ MARITZA DAYHANA

1. Enunciado del Problema.


Qu resultado se obtiene al realizar las siguientes operaciones?

Si hay errores de compilacin, corregirlos y explicar por qu sucede.

2. Cdigo Fuente

//Fig.10.7:EmpleadoPorComision.java //Fig.10.6:EmpleadoPorHoras.java
//LaclaseEmpleadoPorComision3extiendeaEmpleado. //LaclaseEmpleadoPorHorasextiendeaEmpleado.

publicclassEmpleadoPorComision4extendsEmpleado publicclassEmpleadoPorHorasextendsEmpleado
{ {
privatedoubleventasBrutas;//ventastotalesporsemana privatedoublesueldo;//sueldoporhora
privatedoubletarifaComision;//porcentajedecomisin privatedoublehoras;//horastrabajadasporsemana

//constructorconcincoargumentos //constructorconcincoargumentos
publicEmpleadoPorComision4(Stringnombre,Stringapellido,Stringnss, publicEmpleadoPorHoras(Stringnombre,Stringapellido,Stringnss,
doubleventas,doubletarifa) doublesueldoPorHoras,doublehorasTrabajadas)
{ {
super(nombre,apellido,nss); super(nombre,apellido,nss);
establecerVentasBrutas(ventas); establecerSueldo(sueldoPorHoras);//validayalmacenaelsueldopor
establecerTarifaComision(tarifa); horas
}//findelconstructordeEmpleadoPorComisionconcincoargumentos establecerHoras(horasTrabajadas);//validayalmacenalashoras
trabajadas
//establecelatarifadecomisin }//findelconstructordeEmpleadoPorHorasconcincoargumentos
publicvoidestablecerTarifaComision(doubletarifa)
{ //estableceelsueldo
tarifaComision=(tarifa>0.0&&tarifa<1.0)?tarifa:0.0; publicvoidestablecerSueldo(doublesueldoPorHoras)
}//findelmtodoestablecerTarifaComision {
sueldo=(sueldoPorHoras<0.0)?0.0:sueldoPorHoras;
//devuelvelatarifadecomisin }//findelmtodoestablecerSueldo
publicdoubleobtenerTarifaComision()
{ //devuelveelsueldo
returntarifaComision; publicdoubleobtenerSueldo()
}//findelmtodoobtenerTarifaComision {
returnsueldo;
//estableceelmontodeventasbrutas }//findelmtodoobtenerSueldo
publicvoidestablecerVentasBrutas(doubleventas)
{ //establecelashorastrabajadas
ventasBrutas=(ventas<0.0)?0.0:ventas; publicvoidestablecerHoras(doublehorasTrabajadas)
}//findelmtodoestablecerVentasBrutas {
horas=((horasTrabajadas>=0.0)&&(horasTrabajadas<=168.0))?
//devuelveelmontodeventasbrutas horasTrabajadas:0.0;
publicdoubleobtenerVentasBrutas() }//findelmtodoestablecerHoras
{
returnventasBrutas; //devuelvelashorastrabajadas
}//findelmtodoobtenerVentasBrutas publicdoubleobtenerHoras()
{
//calculalosingresos;sobrescribeelmtodoabstractoingresosenEmpleado returnhoras;
publicdoubleingresos() }//findelmtodoobtenerHoras
{
returnobtenerTarifaComision()*obtenerVentasBrutas(); //calculalosingresos;sobrescribeelmtodoabstractoingresosen
}//findelmtodoingresos Empleado
publicdoubleingresos()
//devuelverepresentacinStringdeunobjetoEmpleadoPorComision {
publicStringtoString() if(obtenerHoras()<=40)//nohaytiempoextra
{ returnobtenerSueldo()*obtenerHoras();
returnString.format("%s:%s\n%s:$%,.2f;%s:%.2f", else
"empleadoporcomision",super.toString(), return40*obtenerSueldo()+(obtenerHoras()-40)*obtenerSueldo()*
"ventasbrutas",obtenerVentasBrutas(), 1.5;
"tarifadecomision",obtenerTarifaComision()); }//findelmtodoingresos
}//findelmtodotoString
}//findelaclaseEmpleadoPorComision //devuelverepresentacinStringdeunobjetoEmpleadoPorHoras
publicStringtoString()
{
returnString.format("empleadoporhoras:%s\n%s:$%,.2f;%s:%,.2f",
super.toString(),"sueldoporhora",obtenerSueldo(),
"horastrabajadas",obtenerHoras());
}//findelmtodotoString
}//findelaclaseEmpleadoPorHoras
Ingeniera en Animacin Digital Asignatura: Programacin Orientada a Objetos

y Efectos Visuales Profesor: ISC. Lizbeth Hernndez Oln


Unidad 4 polimorfismo Fecha: 2/06/17
Practica 1 Prueba polimorfismo y Prueba sistema nomina Pgina 8 de 10
No. Control 16081846 Nombre del Alumno GARCA GMEZ MARITZA DAYHANA

1. Enunciado del Problema.


Qu resultado se obtiene al realizar las siguientes operaciones?

Si hay errores de compilacin, corregirlos y explicar por qu sucede.

2. Cdigo Fuente

//Fig.10.1:PruebaPolimorfismo.java //Fig.10.9:PruebaSistemaNomina.java
//Asignacindereferenciasalasuperclaseylasubclase,a //ProgramadepruebaparalajerarquadeEmpleado.
//variablesdelasuperclaseylasubclase.
publicclassPruebaSistemaNomina
publicclassPruebaPolimorfismo {
{ publicstaticvoidmain(Stringargs[])
publicstaticvoidmain(Stringargs[]) {
{ //creaobjetosdelassubclases
//asignalareferenciaalasuperclaseaunavariabledelasuperclase EmpleadoAsalariadoempleadoAsalariado=
EmpleadoPorComision3empleadoPorComision=new newEmpleadoAsalariado("John","Smith","111-11-1111",800.00);
EmpleadoPorComision3("Sue","Jones","222-22-2222",10000,.06); EmpleadoPorHorasempleadoPorHoras=
newEmpleadoPorHoras("Karen","Price","222-22-2222",16.75,40);
//asignalareferenciaalasubclaseaunavariabledelasubclase EmpleadoPorComisionempleadoPorComision=
EmpleadoBaseMasComision4empleadoBaseMasComision=new newEmpleadoPorComision(
EmpleadoBaseMasComision4("Bob","Lewis","333-33-3333",5000,.04,300); "Sue","Jones","333-33-3333",10000,.06);
EmpleadoBaseMasComisionempleadoBaseMasComision=
//invocaatoStringenunobjetodelasuperclase,usandounavariabledela newEmpleadoBaseMasComision(
superclase "Bob","Lewis","444-44-4444",5000,.04,300);
System.out.printf("%s%s:\n\n%s\n\n",
"LlamadaatoStringdeEmpleadoPorComision3conreferenciadesuperclase", System.out.println("Empleadosprocesadosporseparado:\n");
"aunobjetodelasuperclase",empleadoPorComision.toString());
System.out.printf("%s\n%s:$%,.2f\n\n",
//invocaatoStringenunobjetodelasubclase,usandounavariabledelasubclase empleadoAsalariado,"ingresos",empleadoAsalariado.ingresos());
System.out.printf("%s%s:\n\n%s\n\n", System.out.printf("%s\n%s:$%,.2f\n\n",
"LlamadaatoStringdeEmpleadoBaseMasComision4conreferencia", empleadoPorHoras,"ingresos",empleadoPorHoras.ingresos());
"desubclaseaunobjetodelasubclase",empleadoBaseMasComision.toString()); System.out.printf("%s\n%s:$%,.2f\n\n",
empleadoPorComision,"ingresos",empleadoPorComision.ingresos());
//invocaatoStringenunobjetodelasubclase,usandounavariabledela System.out.printf("%s\n%s:$%,.2f\n\n",
superclase empleadoBaseMasComision,
EmpleadoPorComision3empleadoPorComision4=empleadoPorComision; "ingresos",empleadoBaseMasComision.ingresos());
System.out.printf("%s%s:\n\n%s\n",
"LlamadaatoStringdeEmpleadoBaseMasComision4conreferenciade //creaunarregloEmpleadodecuatroelementos
superclase", Empleadoempleados[]=newEmpleado[4];
"aunobjetodelasubclase",empleadoPorComision.toString());
}//findemain //inicializaelarregloconobjetosEmpleado
}//findelaclasePruebaPolimorfismo empleados[0]=empleadoAsalariado;
empleados[1]=empleadoPorHoras;
empleados[2]=empleadoPorComision;
empleados[3]=empleadoBaseMasComision;

System.out.println("Empleadosprocesadosenformapolimorfica:\n");
//procesaenformagenricaacadaelementoenelarreglodeempleados
for(EmpleadoempleadoActual:empleados)
{
System.out.println(empleadoActual);//invocaatoString

//determinasielelementoesunEmpleadoBaseMasComision
if(empleadoActualinstanceofEmpleadoBaseMasComision)
{
//conversindescendentedelareferenciadeEmpleado
//aunareferenciadeEmpleadoBaseMasComision
EmpleadoBaseMasComisionempleado=
(EmpleadoBaseMasComision)empleadoActual;

doublesalarioBaseAnterior=empleado.obtenerSalarioBase();
empleado.establecerSalarioBase(1.10*salarioBaseAnterior);
System.out.printf(
"elnuevosalariobasecon10%%deaumentoes:$%,.2f\n",
empleado.obtenerSalarioBase());
}//findeif

System.out.printf(
"ingresos$%,.2f\n\n",empleadoActual.ingresos());
}//findefor

//obtieneelnombredeltipodecadaobjetoenelarreglodeempleados
for(intj=0;j<empleados.length;j++)
System.out.printf("Elempleado%desun%s\n",j,
empleados[j].getClass().getName());
}//findemain
}//findelaclasePruebaSistemaNomina
Ingeniera en Animacin Digital Asignatura: Programacin Orientada a Objetos

y Efectos Visuales Profesor: ISC. Lizbeth Hernndez Oln


Unidad 4 polimorfismo Fecha: 2/06/17
Practica 1 Capturas de pantalla Pgina 10 de 10
No. Control 16081846 Nombre del Alumno GARCA GMEZ MARITZA DAYHANA

1. Enunciado del Problema.


Qu resultado se obtiene al realizar las siguientes operaciones?

Si hay errores de compilacin, corregirlos y explicar por qu sucede.

2. Cdigo Fuente

You might also like