Close

octubre 10, 2012

Programacion orientada a objetos en ABAP (POO) Part I

Usualmente la teoría es muy aburrida así que tratare de ser breve, si quieres profundizar más en la teoría puedes leer en wikipedia. Para mi punto de vista lo mejor de la programación orientada a objetos (POO de aquí en adelante)  es que facilita la reutilizacion, organización y mantenimiento del código. Pero antes de seguir debes conocer estos conceptos básicos sobre la programación orientada a objetos:
Clase: Es la definición de las propiedades y comportamiento (métodos) de un objeto en concreto.

Objeto: Es una instancia de una clase. Para entenderlo mejor podemos verlo como una variable (objeto) declarada de un tipo de datos numérico (Clase), en este caso su característica es que contiene un valor numérico y su comportamiento es que puede dividirse, multiplicarse, sumarse, etc.

Herencia: Es para mi una de las mejores ideas de la POO, permite crear una clase que se herede de otra clase (super clase). Es como una mujer que tiene un hijo y le hereda algunas cualidades (forma de relacionarse, quizá su auto, y sus deudas). En programación nuestras clases pueden heredar propiedades y métodos de otras clases previamente programadas, como por ejemplo un método para validar que se ha ingresado un email, teléfono correcto, etc.

Funcionamiento de la POO (como funciona esta teoría)

Para explicar un poco más imaginemos una clase llamada persona, esta tiene las siguientes propiedades:

  • Nombre
  • Apellido
  • Teléfono
  • Fecha de nacimiento
y también tiene los siguientes métodos
  • Crear: Esto corresponde al “constructor de la clase”, inicializa el objeto con algunas propiedades, en este caso podría ser el nombre y apellido
  • Modificar: Permite cambiar sus propiedades (nombre, apellido, etc)
  • Borrar: Elimina la persona de la base de datos
  • Guardar: Guarda los datos de la persona en la base de datos
  • Edad: Calcula la edad de la persona segun la fecha de nacimiento y la retorna como salida
  • Saludar: Muestra un mensaje como “Hola mi nombre es….”

Ahora queremos crear una clase llamada Paciente, que se herede de la clase persona, entonces automáticamente sin programar nada esta clase paciente, ya tiene nombre, apellido, teléfono, fecha de nacimiento, y todos los métodos, sabe decir su edad, y saludar. Pero ademas de haber heredado todo esto, puede ampliarse con nuevos métodos y propiedades, incluso se puede sobreescribir el comportamiento de sus métodos  Por ejemplo si agregamos la propiedad “Es alérgico  podemos ampliar el método Guardar para que también guarde ese dato en la base de datos. Otra ventaja de la herencia es que todos los cambios que hagamos a las clases automáticamente se replican en las clases “hijas”.

Le llamamos objetos a las instancias de estas clases, cuando declaramos una variable del tipo de estas clases e invocamos el método constructor, obtenemos un objeto de esa clase.

Ejemplo clase herencia y objetos (POO) en ABAP

En los siguientes artículos veremos como aplicar estos conceptos de programación orientada a objetos en ABAP.