Día 17 de mi viaje de dominio de IA y datos: De Python a la IA Generativa. En esta entrega explico de forma práctica cómo diseñar un sistema para una empresa que gestione empleados y procese pagos, y además incluyo la corrección de un fragmento de código con manejo privado de salario.

Resumen del escenario y objetivos: una compañía necesita llevar registro de empleados que pueden ser empleados regulares o managers, y procesar pagos mediante CreditCard, UPI o Cash. Hay que controlar salario y bonos, y asegurar la encapsulación del salario para que nadie lo modifique directamente.

Clases propuestas y responsabilidades: Employee clase base Atributos name str y __salary privado int Métodos get_salary devuelve salario set_salary añade un bono a salario display muestra información del empleado Manager subclase de Employee Atributo department Método display sobrescribe para incluir departamento Métodos de pago Polimorfismo Clases CreditCard UPI Cash Método pay(amount) registra el pago con el tipo de método

Idea de implementación en Python ejemplo simplificado sin prints con literales de cadena para mantener la lógica de encapsulación y claridad del diseño

class Employee:

def __init__(self, name, salary):

self.name = name

self.__salary = salary

def get_salary(self):

return self.__salary

def set_salary(self, amount):

self.__salary += amount

def display(self):

return self.name, self.get_salary()

class Manager(Employee):

def __init__(self, name, salary, department):

super().__init__(name, salary)

self.department = department

def display(self):

return self.name, self.get_salary(), self.department

class CreditCard:

def pay(self, employee, amount):

employee.last_payment = amount, self.__class__.__name__

class UPI:

def pay(self, employee, amount):

employee.last_payment = amount, self.__class__.__name__

class Cash:

def pay(self, employee, amount):

employee.last_payment = amount, self.__class__.__name__

Explicación del flujo de uso Creación de empleados crear un empleado regular y un manager usando el constructor y suministrando salario mediante el argumento salary Asignación de bonos usar set_salary para añadir el bono de forma encapsulada Procesamiento de pagos instanciar cada método de pago y llamar pay para cada empleado con una cantidad deseada El método pay registra el pago en el objeto empleado en last_payment y puede consultarse para generar confirmaciones finales

Ejemplo de inputs y acciones Inputs ejemplo Empleado nombre Alice Salario 50000 Bono 5000 Acciones usar set_salary con 5000 para añadir bono luego procesar pagos con CreditCard UPI y Cash y comprobar atributos get_salary y last_payment

Tarea de depuración corregir fragmento con problemas de scope y falta de self A continuación el código original con errores y la versión corregida original erróneo class Employee: def __init__(self, name, salary): name = name __salary = salary def get_salary(self): return __salary def set_salary(self, amount): __salary += amount Versión corregida y funcional siguiendo la misma lógica sin cambiar diseño

class Employee:

def __init__(self, name, salary):

self.name = name

self.__salary = salary

def get_salary(self):

return self.__salary

def set_salary(self, amount):

self.__salary += amount

Motivo de la corrección El problema era que en el código original no se usaba self para asociar atributos al objeto y se refería a __salary como variable local en lugar del atributo privado de instancia. La solución usa self.__salary en todas las referencias y por tanto mantiene declarado el atributo privado y permite get y set seguros.

Consideraciones de encapsulación y buenas prácticas Mantener __salary privado evita acceso accidental desde fuera de la clase Ofrecer get_salary y set_salary permite validar o auditar cambios en el salario Si hace falta persistencia o logs, centralizar las modificaciones a través de set_salary facilita control y trazabilidad

Integración con servicios y valor añadido empresarial En Q2BSTUDIO somos expertos en construir soluciones completas que incluyen desde desarrollo de aplicaciones a medida hasta despliegues en la nube y capacidades de inteligencia artificial. Un sistema como el descrito puede ampliarse con conectores a servicios cloud y cumplimiento de seguridad. Si necesitas aplicaciones a medida o software a medida podemos ayudarte con desarrollo multicanal y arquitecturas escalables conoce nuestras soluciones de software a medida. Para potenciar procesos con modelos de IA y agentes y aplicar IA para empresas revisa nuestros servicios de inteligencia artificial servicios de inteligencia artificial y agentes IA.

Palabras clave integradas aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws azure servicios inteligencia de negocio ia para empresas agentes IA power bi automatización de procesos Estas palabras clave están pensadas para mejorar posicionamiento y describen áreas donde Q2BSTUDIO ofrece servicios especializados incluyendo ciberseguridad y pentesting, integración con Power BI para inteligencia de negocio y despliegues en AWS y Azure.

Conclusión Este ejercicio ilustra diseño orientado a objetos con encapsulación, polimorfismo para métodos de pago y la importancia de usar self y atributos privados en Python. La corrección del snippet permite manejar salario y bonos de forma segura. Si quieres que desarrollemos el proyecto completo con pruebas reales, integración cloud y dashboards de inteligencia de negocio, desde Q2BSTUDIO podemos acompañarte en todo el ciclo de vida del producto.