ESCUELA ACADEMICO PROFESIONAL
DE INGENIERIA DE SISTEMAS
Sesin 04: Polimorfismo
Tratamiento de N
excepciones
GUA DE yLABORATORIO
04
Escuela Profesional: Ingeniera de Sistemas.
Ciclo y Turno: Cuarto Maana-Tarde-Noche
Docente: Ing. Marcelino Estrada Aro
INTRODUCCION
Asignatura: Prog. Orientada a Objetos
Semestre Acadmico: 2015-I
El polimorfismo es una caracterstica de los objetos, y permite obtener muchas mltiples
formas con la finalidad de acceder a los diferentes mtodos y atributos a travs de una solo
declaracin. El tratamiento de excepciones permite manejar los errores generados en
tempo de ejecucin.
I. OBJETIVOS
1. Codificar, compilar y ejecutar los ejercicios de aplicacin.
2. Conocer la estructura de un programa visual en Java.
II. EQUIPOS Y MATERIALES
Computadora personal.
Programa NetBeans IDE 6.9.1 correctamente instalado.
III. METODOLOGIA Y ACTIVIDADES
Codificar los ejercicios desarrollados en el aula.
Presentar avances y ejecucin de cada uno de los ejercicios al docente o jefe de
prctica encargado para la calificacin correspondiente.
IV. IMPORTANTE
Antes de comenzar a manipular el NetBeans 6.9.1 crear siempre, una carpeta,
donde se guardarn todas las aplicaciones realizadas en el presente laboratorio con
el nombre LABORAT-04.
V. MANEJO DEL SOFTWARE
Implemente una clase padre abstracta de nombre Empleado con los siguientes
atributos: DNI, apellidos, nombres, as como su constructor correspondiente que
actualice su informacin y considere un mtodo para mostrar la informacin de los
atributos as como sus mtodos getter y setter (Encapsulamiento). As como tambin
defina mtodos abstractos para los ingresos, bonificacin y descuentos, y tambin
mtodos no abstractos para el sueldo y la impresin de la informacin del empleado.
Luego construya una clase hija de nombre EmpleadoVendedor con los siguientes
atributos: monto vendido y la tasa de comisin y su respectivo constructor y los
mtodos setter y getter (encapsulamiento). Para esta clase desarrolle los mtodos
abstractos heredados con las siguientes caractersticas y que permita hacer lo
siguiente:
Calcular sus ingresos basados en montovendido*tasacomision.
Calcular su bonificacin de la siguiente manera: si el monto vendido es menor
que 1000 no tendr bonificacin, si estas entre 1000 y 5000 ser el 5% de sus
ingresos, si supera los 5000 su bonificacin ser del 10% de sus ingresos.
Calcular su descuento de la siguiente manera: si sus ingresos es menor a 1000
su descuento ser del 11% de sus ingresos sino ser el 15% de sus ingresos.
Calcular su sueldo neto como: ingresos + bonificaciones - descuentos
Luego construya otra clase hija de nombre EmpleadoPermanente con los siguientes
atributos: sueldo base y afiliacin (AFP y SNP) e incluya su constructor y los mtodos
setter y getter (encapsulamiento). Para esta clase desarrolle los mtodos abstractos
Pg. 1 de 11
heredados con las siguientes caractersticas y que permita hacer lo siguiente:
Retornar el sueldo base, mtodo que llamara ingresos
Calcular el descuento basado en: si la afiliacin es AFP ser el 15% del sueldo
base sino ser el 11% del sueldo base.
No hay bonificacin es decir la bonificacin es 0.
El sueldo neto se calculara como: ingresos descuentos
Adems recibir asignacin de movilidad si sus ingresos son menores de 1000
soles recibir 50 soles sino recibir 40 soles.
Considere los objetos necesarios para utilizar la funcionalidad de la clase
SOLUCION
Utilice la paleta de componentes y construya el siguiente diseo:
Pg. 2 de 11
Observe la grafica y su proyecto quedara de la siguiente forma que constara de 3 clases y
un formulario. Observe al lado derecho el Inspector de Objetos para guiarse de los
nombres de los objetos
Del enunciado la clase Empleado tiene la siguiente informacin:
Pg. 3 de 11
La clase hija EmpleadoVendedor tiene la siguiente informacin
Pg. 4 de 11
La clase hija EmpleadoPermanente tiene la siguiente informacin
A continuacin complete lo siguientes cdigos en el Editor de Cdigo
Pg. 5 de 11
METODOS PARA EL MANEJO DE EXCEPCIONES
Pg. 6 de 11
Pg. 7 de 11
Presione Shift+F6 y el aplicativo mostrar la siguiente ventana
EJERCICIO PROPUESTO
1.
Construya una clase abstracta de nombre Constructor que tiene los siguientes atributos:
cdigo, apellidos, nombres, condicin de contrato (Estable, contratado), especialidad, incluya
sus constructores. Adems construya sus mtodos getter y setter (Encapsulamiento) y
tambin declare los mtodos abstractos como sueldo base, descuentos y bonificacin,
adems construya mtodos no abstractos como clculo del sueldo bruto: sueldo base +
bonificacin y del sueldo neto que se calcula de: sueldo bruto descuentos., adems de un
mtodo que permita visualizar la informacin.
Construya una interface que permita manejar las siguientes constantes el descuento de
porcentajes del 17% para el AFP y 5% para Essalud que se implementara sobre la clase
Constructor.
Luego construya la Clase IngenierioCivil de la clase Constructor que tiene los siguientes
atributos: Tipo de Actividad (Supervisin de Obras y Supervisin de Vas) , Numero de Obras
Asignadas y contador con atributo. Construya su constructor que actualizar los datos de la
clase padre as como actualizara el atributo cdigo, heredado de la Clase Constructor con un
cdigo autogenerado y sus mtodos getter y setter. Para esta clase desarrolle los mtodos
abstractos heredados y que permitan hacer lo siguiente:
El sueldo base se calcula de la
siguiente tabla
Especialidad
Estructuras
Recursos Hdricos
Ingeniera Vial
% de Bonificacin
16%
18%
22%
Condicin
de Contrato
Estable
Contratado
SUELDO BASE
Supervisin
Supervisin de
de Obras
Vas
4000
6000
2000
4500
La bonificacin es un porcentaje de su sueldo
base en base a su especialidad
tal y como se muestra en la siguiente tabla:
Pg. 8 de 11
Los descuentos se aplica de acuerdo a las constantes
establecidas en la interface
Esta clase tendr un mtodo propio que asignara un
monto de movilidad de acuerdo al nmero de obras
asignadas
Numero de
Obras
< 17
>=18
Monto
300
600
Otro mtodo propio que permita generar un cdigo con la siguiente caracterstica: INGC00001,
INGC00002
Luego construya una subclase Arquitecto de la clase Constructor que tendr los atributos
como: Nmero de Proyectos Diseados, Cargo (Direccin de Obras y Edificador Industrial) y
un contador con atributo esttico. Construya su constructor que actualizar los datos de la
clase padre as como actualizara el atributo cdigo, heredado de la clase Constructor con un
cdigo autogenerado y sus mtodos getter y setter. Para esta clase desarrolle los mtodos
abstractos heredados y que permitan hacer lo siguiente:
El sueldo base se
la siguiente tabla
acuerdo
a
especialidad
condicin
contrato:
da
de
la
y
de
Condicin
de Contrato
Estable
Contratado
La bonificacin que recibir est de
acuerdo al cargo:
SUELDO BASE
Restauracin
Materiales de
y
Construccin
Rehabilitacin
4600
7500
3980
4600
Cargo
Director de Obras
Edificador Industrial
Paisajismo
y jardinera
4860
4600
% de Bonificacin
25%
29%
.
El Arquitecto no recibe descuento por Essalud ms si de AFP.
Tendr su mtodo propio que permita generar un cdigo con la siguiente caracterstica:
ARQ00001, ARQ00002
NOTA: Ambas clases tendrn mtodos recargados para mostrar la informacin de sus datos
adicionales.
Construya el aplicativo con los objetos necesarios para utilizar la funcionalidad de las clases y
subclases implementadas utilice el tratamiento de excepciones para verificar los datos de entrada
del tipo numrico y utilice polimorfismo.
2. Construya una clase abstracta de nombre Empleado que tiene los siguientes atributos:
apellidos, nombres, sexo y DNI, incluya sus constructores. Adems construya sus mtodos
getter y setter (Encapsulamiento) y tambin declare los mtodos abstractos como sueldo base
y bonificacin, adems construya mtodos no abstractos como calculo del sueldo bruto:
sueldo base + bonificacin y del sueldo neto que se calcula de: sueldo bruto descuentos.
Construya una interfase que permita manejar las siguientes constantes el descuento de
porcentajes del 17% para el AFP y 5% para Essalud. Que sern solo aplicables a la subclase
Operario y Administrativo.
Luego construya la subclase Operario de la clase Empleado que tiene los atributos como:
Cdigo (que ser autogenerado ejm: O0001, O0002, etc.), categora (A, B y C), Turno de labor
(Maana, tarde y noche), horas adicionales laborables. Construya su constructor y los mtodos
Pg. 9 de 11
setter y getter (encapsulamiento). Para esta clase desarrolle los mtodos abstractos heredados
y que permitan hacer lo siguiente:
El sueldo base se calcula de la siguiente tabla
Categora
A
B
C
SUELDO BASE
MAANA
TARDE
NOCHE
1200
1300
1800
1400
1500
2000
1600
1700
2200
Las bonificaciones al operario se realizan segn la horas adicionales laborables por cada hora
adicional al operario le pagan 12 soles cualquiera que sea su categora y su horario de laboral.
El descuento no se reciben descuentos.
Luego construya una subclase Administrativo de la clase Empleado que tendr los atributos como:
Cdigo (que ser autogenerado ejm: A0001, A0002, etc.), Categora (Secretaria y Asistente), Condicin
(Contratado, Estable, Servicios No personales). Construya su constructor y los mtodos setter y getter
(encapsulamiento). Para esta clase desarrolle los mtodos abstractos heredados y que permitan hacer
lo siguiente:
El sueldo base se calcula de la siguiente tabla
Sueldo base
Categora
Secretaria
Asistente
Contratado
Estable
2000
2500
3000
3900
Servicios no
Personales
1800
2200
Los administrativos no reciben bonificaciones.
El descuento se aplica de acuerdo a las constantes establecidas en la interfase.
Luego construya una subclase abstracta Directivos de la clase Empleado que tendr el atributo: rea
(Contabilidad, Tecnologas de Informacin y Planificacin) y un mtodo abstracto llamado Prima
Luego construya la subclase Jefes de la clase Directivos que maneja los siguientes atributos como:
Cdigo (que ser autogenerado ejm: D0001, D0002, etc.) y cargo (Gerente y Subgerente). Construya
su constructor y los mtodos setter y getter (encapsulamiento). Para esta clase desarrolle los mtodos
abstractos heredados y que permitan hacer lo siguiente:
El sueldo base se calcula de la siguiente tabla
Cargo
Gerente
Subgerente
Contabilidad
6000
5000
SUELDO BASE
Tecnologas de
Informacin
8000
7000
Planificacin
7000
6000
La bonificacin ser de 2000 soles cualquiera que sea su categora y rea.
Los descuentos se aplica de acuerdo a las constantes establecidas en la interfase
La prima para cada Jefe se esta de acuerdo a su cargo y esta se calcula de su sueldo bruto de
la siguiente tabla:
Cargo
Gerente
Subgerente
% de Prima
23%
17%
Esta clase tendr un mtodo propio que asignara un monto de movilidad de acuerdo al cargo
Pg. 10 de 11
Cargo
Gerente
Subgerente
Monto
700
400
Construya el aplicativo con los objetos necesarios para utilizar la funcionalidad de las clases y
subclases implementadas utilice el tratamiento de excepciones para verificar los datos de entrada
del tipo numrico y utilice polimorfismo.
Pg. 11 de 11