miércoles, 22 de mayo de 2013

Práctica 17. Manejo de clases basado en POO (programación orientada a objetos)

Propósito de la práctica: Realiza un programa que maneje clases basado en POO (programación orientada a objetos) para el cálculo de nómina de empleados.

En una empresa automotriz se tienen 3 tipos de empleados: administrativos, mecanicos y vendedores. En general, para todos los empleados se tiene los datos RFC (Registro Federal de Contribuyentes), el nombre, el departamento y el puesto. En particular; para el empleado administrativo se tiene el dato sueldo mensual; para el mecánico se tiene el precio del trabajo, tantas veces como trabajos haya realizado; y para el vendedor se tiene el precio del auto, por cada auto que vendió.


El sueldo quincenal se calcula:

  • Para el administrativo, sueldo mensual entre 2.
  • Para el mecánico, el 4% del valor total.
  • Para el vendedor, el salario mínimo, mas el 2 porciento del valor de la venta realizada.

Elaborar un programa que permita procesar los empleados de la empresa e imprimir el siguiente
reporte:
Reporte de nomina quincenal
RFC         Nombre                                             Depto.               Puesto                    Sueldo Quincena
XXXXX   XXXXXXXXXXXXXXXXXXXX    XXXXXXX       XXXXXXXX         99,999.99
XXXXX   XXXXXXXXXXXXXXXXXXXX    XXXXXXX       XXXXXXXX         99,999.99
Total 999 empleados

La idea es que se use una superclase Empleado que contendrá los datos RFC, el nombre, el departamento, y el puesto; y los métodos para establecer y obtener cada uno de los datos. De esa superclase derivar tres subclases: EmpAdmvo, EmpMecánico y EmpVendedor; en cada una de las cuales se heredarán los datos y los métodos de la superclase; además, cada subclase de estas, deberán tener sus propios datos y métodos para establecer los datos necesario, calcular el sueldo quincenal correspondiente y obtenerlo para imprimirlo. Asimismo, deberá haber una clase controlador que permita leer los datos y utilice el modelo para representar y solucionar el problema.

4 comentarios: