POLIMORFISMO

October 3, 2017 | Author: EnriqueJamesAcostaHilario | Category: C++, Computer Program, Software Engineering, Areas Of Computer Science, Software Development
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF