Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 9

ESCUELA ACADEMICO

PROFESIONAL DE INGENIERIA DE

GUÍA DE LABORATORIO N° 06
Escuela Profesional: Ingeniería de Sistemas. Asignatura: Prog. Orientada a Objetos
Ciclo y Turno: Cuarto – Mañana-Tarde-Noche Semestre Académico: 2022-2
Docente: Ing. Marcelino Estrada Aro Fecha:

Sesión 06: Herencia, Clases Abstractas y Encapsulamiento


INTRODUCCION
Una de las características más útiles de cualquier lenguaje orientado a objetos es la
posibilidad de declarar clases que definen como se utiliza solamente, sin tener que
implementar método. Esto en Java se hace mediante interfaces y con clases abstractas.
Una clase abstracta es una clase de la que no se puede crear objetos. La utilidad de estas
clases estriba en que otras clases hereden de ésta, por lo que con ello conseguiremos
reutilizar código. Para declarar una clase como abstracta utilizamos la palabra clave
abstract.

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 12 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 12 crear siempre, una carpeta, donde
se guardarán todas las aplicaciones realizadas en el presente laboratorio con el
nombre LABORAT-06.

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 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 neto 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.

Pág. 1 de 9
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
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.

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 9
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 9
La clase hija EmpleadoVendedor tiene la siguiente información

Pág. 4 de 9
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 9
Pág. 6 de 9
Presione Shift+F6 y el aplicativo mostrará la siguiente ventana

EJERCICIO PROPUESTO

CASO 1

1. 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.

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.

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 SUELDO BASE


siguiente tabla Condición
Supervisión Supervisión de
de Contrato
de Obras Vías
Estable 4000 6000
Contratado 2000 4500

Pág. 7 de 9
Especialidad % de Bonificación
Estructuras 16%
 La bonificación es un porcentaje de su Recursos Hídricos 18%
sueldo base en base a su especialidad Ingeniería Vial 22%
 tal y como se muestra en la siguiente tabla:

 Los descuentos se aplica de acuerdo a las constantes establecidas en la interface

Numero de
Monto
Obras
 Esta clase tendrá un método propio que asignara un < 17 300
monto de movilidad de acuerdo al número de obras
>=18 600
asignadas

 Otro método propio que permita generar un código con la siguiente característica: INGC00001,
INGC00002…

Construya el aplicativo con los objetos necesarios para utilizar la funcionalidad de las clases y
subclases implementadas.

CASO 2

2. Construya una clase abstracta de nombre Asistente que tiene los siguientes atributos: código,
apellidos, nombres, especialidad (Recursos Humanos o Comportamiento Organizacional)
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
Asistente.

Luego construya la Clase Asistente de Gerencia de la clase Asistente que tiene los siguientes
atributos: categoría (A o B) 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 Asistente
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 SUELDO BASE


tabla Categoría Recursos Comportamiento
Humanos Organizacional
A 6000 8000
B 5000 7000
 La bonificación será de 600 soles cualquiera que sea su categoría.
 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 cargo

Categoría Monto
A 700
B 400 Pág. 8 de 9
 Otro método propio que permita generar un código con la siguiente característica: AGE00001,
AGE00002…

Pág. 9 de 9

También podría gustarte