POLIMORFISMO
Short Description
El polimorfismo es una característica de los objetos, y permite obtener muchas múltiples formas con la finalidad de acce...
Description
ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA DE SISTEMAS
Sesión 04: Polimorfismo Tratamiento de N° excepciones GUÍA DE yLABORATORIO 04 Escuela Profesional: Ingeniería de Sistemas. Ciclo y Turno: Cuarto – Mañana-Tarde-Noche Docente: Ing. Marcelino Estrada Aro INTRODUCCION
Asignatura: Prog. Orientada a Objetos Semestre Académico: 2015-I
El 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 siguiente:
Calcular sus ingresos basados en montovendido*tasacomision. Calcular su bonificación de la siguiente manera: si el monto vendido es menor que 1000 no tendrá bonificación, si estas entre 1000 y 5000 será el 5% de sus ingresos, si supera los 5000 su bonificación 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 afiliación (AFP y SNP) e incluya su constructor y los métodos setter y getter (encapsulamiento). Para esta clase desarrolle los métodos abstractos Pág. 1 de 11
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:
Pág. 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 información:
Pág. 3 de 11
La clase hija EmpleadoVendedor tiene la siguiente información
Pág. 4 de 11
La clase hija EmpleadoPermanente tiene la siguiente información
A continuación complete lo siguientes códigos en el Editor de Código
Pág. 5 de 11
METODOS PARA EL MANEJO DE EXCEPCIONES
Pág. 6 de 11
Pág. 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: 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 Especialidad Estructuras Recursos Hídricos Ingeniería Vial
% de Bonificación 16% 18% 22%
Condición de Contrato Estable Contratado
SUELDO BASE Supervisión Supervisión de de Obras Vías 4000 6000 2000 4500
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
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
Numero de Obras < 17 >=18
Monto 300 600
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 la siguiente tabla acuerdo a especialidad condición contrato:
da de la y de
Condición de Contrato Estable Contratado
La bonificación que recibirá está de acuerdo al cargo:
SUELDO BASE Restauración Materiales de y Construcción Rehabilitación 4600 7500 3980 4600
Cargo Director de Obras Edificador Industrial
Paisajismo y jardinería 4860 4600
% de Bonificación 25% 29%
. 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.
2. Construya una clase abstracta de nombre Empleado que tiene los siguientes atributos: apellidos, nombres, sexo y DNI, incluya sus constructores. Además construya sus métodos getter y setter (Encapsulamiento) y también declare los métodos abstractos como sueldo base y bonificación, además construya métodos no abstractos como calculo del sueldo bruto: sueldo base + bonificación 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 serán solo aplicables a la subclase Operario y Administrativo. Luego construya la subclase Operario de la clase Empleado que tiene los atributos como: Código (que será autogenerado ejm: O0001, O0002, etc.), categoría (A, B y C), Turno de labor (Mañana, tarde y noche), horas adicionales laborables. Construya su constructor y los métodos Pág. 9 de 11
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 Categoría A B C
SUELDO BASE MAÑANA TARDE NOCHE 1200 1300 1800 1400 1500 2000 1600 1700 2200
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 Sueldo base Categoría 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, 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 Cargo Gerente Subgerente
Contabilidad 6000 5000
SUELDO BASE Tecnologías de Información 8000 7000
Planificación 7000 6000
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: Cargo Gerente Subgerente
% de Prima 23% 17%
Esta clase tendrá un método propio que asignara un monto de movilidad de acuerdo al cargo
Pág. 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 numérico y utilice polimorfismo.
Pág. 11 de 11
View more...
Comments