Sesión 04: Polimorfismo y Tratamiento de excepciones
INTRODUCCIONEl polimorfismo es una característica de los objetos, y permite obtener muchas múltiples formas con la finalidad de acceder a los diferentes métodos y atributos a través de una solo declaración. El tratamiento de excepciones permite manejar los errores generados en tempo de ejecución.
I. OBJETIVOS
1. Codificar, compilar y ejecutar los ejercicios de aplicación. 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 ejecución de cada uno de los ejercicios al docente o jefe de práctica encargado para la calificación correspondiente.
IV. IMPORTANTE
Antes de comenzar a manipular el NetBeans 6.9.1 crear siempre, una carpeta, donde se guardarán 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 información y considere un método para mostrar la información de los atributos así como sus métodos getter y setter (Encapsulamiento). Así como también defina métodos abstractos para los ingresos, bonificación y descuentos, y también métodos no abstractos para el sueldo y la impresión de la información del empleado. Luego construya una clase hija de nombre EmpleadoVendedor con los siguientes atributos: monto vendido y la tasa de comisión y su respectivo constructor y los métodos setter y getter (encapsulamiento). Para esta clase desarrolle los métodos abstractos heredados con las siguientes características y que permita hacer lo
GUÍA DE LABORATORIO N° 04
Escuela Profesional: Ingeniería de Sistemas. Asignatura: Prog. Orientada a Objetos Ciclo y Turno: Cuarto – Mañana-Tarde-Noche Semestre Académico: 2015-I
Docente: Ing. Marcelino Estrada Aro
ESCUELA ACADEMICO PROFESIONAL
DE INGENIERIA DE SISTEMAS
heredados con las siguientes características y que permita hacer lo siguiente: Retornar el sueldo base, método que llamara ingresos
Calcular el descuento basado en: si la afiliación es AFP será el 15% del sueldo base sino será el 11% del sueldo base.
No hay bonificación es decir la bonificación es 0.
El sueldo neto se calculara como: ingresos – descuentos
Además recibirá asignación 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 diseño:
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
La clase hija EmpleadoVendedor tiene la siguiente información
La clase hija EmpleadoPermanente tiene la siguiente información
METODOS PARA EL MANEJO DE EXCEPCIONES
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: código, apellidos, nombres, condición de contrato (Estable, contratado), especialidad, incluya sus constructores. Además construya sus métodos getter y setter (Encapsulamiento) y también declare los métodos abstractos como sueldo base, descuentos y bonificación, además construya métodos no abstractos como cálculo del sueldo bruto: sueldo base + bonificación y del sueldo neto que se calcula de: sueldo bruto – descuentos., además de un método que permita visualizar la información.
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 (Supervisión de Obras y Supervisión de Vías) , Numero de Obras Asignadas y contador con atributo. Construya su constructor que actualizará los datos de la clase padre así como actualizara el atributo código, heredado de la Clase Constructor con un código autogenerado y sus métodos getter y setter. Para esta clase desarrolle los métodos abstractos heredados y que permitan hacer lo siguiente:
El sueldo base se calcula de la siguiente tabla
La bonificación es un porcentaje de su sueldo base en base a su especialidad
tal y como se muestra en la siguiente tabla:
Pág. 8 de 11 Condición de Contrato SUELDO BASE Supervisión de Obras Supervisión de Vías Estable 4000 6000 Contratado 2000 4500 Especialidad % de Bonificación Estructuras 16% Recursos Hídricos 18% Ingeniería Vial 22%
Los descuentos se aplica de acuerdo a las constantes establecidas en la interface
Esta clase tendrá un método propio que asignara un monto de movilidad de acuerdo al número de obras asignadas
Otro método propio que permita generar un código con la siguiente característica: INGC00001, INGC00002…
Luego construya una subclase Arquitecto de la clase Constructor que tendrá los atributos como: Número de Proyectos Diseñados, Cargo (Dirección de Obras y Edificador Industrial) y un contador con atributo estático. Construya su constructor que actualizará los datos de la clase padre así como actualizara el atributo código, heredado de la clase Constructor con un código autogenerado y sus métodos getter y setter. Para esta clase desarrolle los métodos abstractos heredados y que permitan hacer lo siguiente:
El sueldo base se da la siguiente tabla de acuerdo a la especialidad y condición de contrato:
La bonificación que recibirá está de acuerdo al cargo:
.
El Arquitecto no recibe descuento por Essalud más si de AFP.
Tendrá su método propio que permita generar un código con la siguiente característica: ARQ00001, ARQ00002…
NOTA: Ambas clases tendrán métodos recargados para mostrar la información 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 numérico y utilice polimorfismo.
Numero de Obras Monto < 17 300 >=18 600 Condición de Contrato SUELDO BASE Restauración y Rehabilitación Materiales de Construcción Paisajismo y jardinería Estable 4600 7500 4860 Contratado 3980 4600 4600 Cargo % de Bonificación Director de Obras 25% Edificador Industrial 29%
setter y getter (encapsulamiento). Para esta clase desarrolle los métodos abstractos heredados y que permitan hacer lo siguiente:
El sueldo base se calcula de la siguiente tabla
Las bonificaciones al operario se realizan según la horas adicionales laborables por cada hora adicional al operario le pagan 12 soles cualquiera que sea su categoría 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: Código (que será autogenerado ejm: A0001, A0002, etc.), Categoría (Secretaria y Asistente), Condición (Contratado, Estable, Servicios No personales). Construya su constructor y los métodos setter y getter (encapsulamiento). Para esta clase desarrolle los métodos abstractos heredados y que permitan hacer lo siguiente:
El sueldo base se calcula de la siguiente tabla
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, Tecnologías de Información y Planificación) y un método abstracto llamado Prima Luego construya la subclase Jefes de la clase Directivos que maneja los siguientes atributos como: Código (que será autogenerado ejm: D0001, D0002, etc.) y cargo (Gerente y Subgerente). Construya su constructor y los métodos setter y getter (encapsulamiento). Para esta clase desarrolle los métodos abstractos heredados y que permitan hacer lo siguiente:
El sueldo base se calcula de la siguiente tabla
La bonificación será de 2000 soles cualquiera que sea su categoría 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:
Esta clase tendrá un método propio que asignara un monto de movilidad de acuerdo al cargo
Pág. 10 de 11
Categoría MAÑANASUELDO BASETARDE NOCHE A 1200 1300 1800 B 1400 1500 2000 C 1600 1700 2200
Categoría
Sueldo base
Contratado Estable Servicios noPersonales Secretaria 2000 3000 1800
Asistente 2500 3900 2200
Cargo Contabilidad Tecnologías deSUELDO BASE
Información Planificación Gerente 6000 8000 7000 Subgerente 5000 7000 6000 Cargo % de Prima Gerente 23% Subgerente 17%
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 numérico y utilice polimorfismo.
Cargo Monto
Gerente 700 Subgerente 400