Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Uso de la clase ControlBonificacion

Hola! En el caso de ejecutar dos veces el método de registrar bonificación sobre el mismo objeto, el método lo cuenta dos veces. Es decir, para este ejemplo del banco estaría "controlando" que pago más de lo que realmente pago o tengo que pagar. ¿Cómo se podría hacer para que el método detecte que ya sumo la bonificación de un funcionario en particular? ¿Se debe generar una validación dentro del método? Por ejemplo, se me ocurre listar en un arreglo las referencias de memoria de los funcionarios y comprobar que no estén incluidos. ¿En una empresa con miles de funcionarios sería eficiente, si aplicara la validación, cómo es conveniente plantearla?

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola Daniel, espero que estés bien!

Es una buena pregunta y tal vez tenga más de una respuesta pero le diré lo que pensé para solucionar eso.

Para una empresa con muchos funcionarios es inviable verificar cada empleado por su nombre, entonces lo mejor sería comprobar algunos parámetros que influyen en la bonificación salarial: cargo, tiempo de servicio, etc. Así que en un ejemplo real con la empresa, se tendrán en cuenta más factores.

Ahora pensando en la actividad del curso, creo que vale la pena agregar un atributo booleano que afirme (o niegue) que se ha hecho una bonificación, un atributo para el objeto empleado entiende? Por ejemplo:

  • Diego recibió la bonificación vía método registrarSalario.
  • al llamar al método para este objeto, al final de la adición del salario, un atributo 'recibido' tendría el valor 'true' asociado.
  • ya pensando en el inicio del método, podría tener un IF para verificar si 'recibido' está como true o false.
  • por lo tanto, en caso de que el método fuera llamado por segunda vez pro Diego, el IF no permitiría la adición nuevamente.

¿Qué te parece eso?

Saludos y buenos estudios!