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

ESCUELA ACADEMICO

PROFESIONAL DE INGENIERIA DE

GUÍA DE LABORATORIO N° 03
Escuela Profesional: Ingeniería de Sistemas. Asignatura: Prog. Orientada a Objetos
Ciclo y Turno: Cuarto – Mañana-Tarde-Noche Semestre Académico: 2020-2

Sesión 03: 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 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-03.

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

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

EJERCICIO PROPUESTO

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 10
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…

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


la siguiente tabla de Condición Restauración Paisajismo
acuerdo a la Materiales de
de Contrato y y jardinería
especialidad y Construcción
Rehabilitación
condición de Estable 4600 7500 4860
contrato: Contratado 3980 4600 4600

 La bonificación que recibirá está de


acuerdo al cargo: Cargo % de Bonificación
Director de Obras 25%
Edificador Industrial 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.

Pág. 8 de 10
2. Construya una clase abstracta de nombre Estudiante que tiene los siguientes atributos: código,
apellidos, nombres, semestre de ingreso (2019-I o 2019-II) e incluya sus constructores. Además
construya sus métodos getter y setter (Encapsulamiento) y también declare los métodos
abstractos como pago parcial de pensión y descuentos, además construya métodos no
abstractos como cálculo del pago final de pensión que será igual a: pago parcial de pensión -
descuentos. Implemente dicha clase con la interface Serializable.

Construya una interface que permita manejar las siguientes constantes el descuento de porcentajes del
19% del IGV. Que será implementada en la clase Estudiante

Luego construya una subclase Estudiante de PreGrado de la clase Estudiante que tendrá los atributos
como: Categoría (A o B), Promedio ponderado, colegio de Procedencia (Estatal o Particular) y contador
de atributo estático. Construya su constructor que actualizará los datos de las clase padre así como
actualizara el atributo código, heredado de la Clase Estudiante 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:
 Calcular el pago parcial de pensiones en función a la categoría y el colegio de procedencia tal
y como se muestra en la tabla
Categorí Pago parcial de Pensiones
a Estatal Particular
A 320 450
B 300 420

 Calcular el descuento sobre el pago parcial de pensiones de acuerdo al promedio ponderado


como sigue a continuación
Rango del Prom % de descuento sobre
Ponderado el pago de pensión
Menor a 13 0%
Mayor 13 8%

 Tendrá su metodo propio que permita generar un código con la siguiente característica:
EPRE0001, EPRE0002…

Luego construya la subclase Estudiante de Postgrado de la clase Estudiante que tiene los siguientes
atributos: grado académico (Bachiller Titulado) y contador con atributo estático. Construya su
constructor que actualizará los datos de las clase padre así como actualizar el atributo código,
heredado de la Clase Estudiante 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

Grado Pago parcial de


académico Pensiones
Bachiller 400
Titulado 350

 Los Estudiantes de Postgrado no gozan de descuentos.


 Tendrá su método propio que permita generar un código con la siguiente característica:
EPOS0001, EPOS0002…

NOTA: Ambas clases tendrán métodos recargados para mostrar la información de sus datos
adicionales.

Pág. 9 de 10
Pág. 10 de 10

También podría gustarte