✒️ABAP Introducción a la Programación Orientada a Objetos
ABAP Introducción a la Programación Orientada a Objetos
INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS
Programación orientada a Objetos (POO): Con la POO hay que aprender a pensar las cosas de una manera distinta, para describir los programas en términos de objetos, propiedades, métodos y otros conceptos. Los objetos en ABAP son un conjunto de sentencias orientadas a objetos que han sido introducidas dentro del lenguaje ABAP a partir de la versión 4.0. Se pueden usar objetos en programas existentes, de la misma manera que se pueden usar sentencias ABAP convencionales en programas ABAP orientados a objetos. Los conceptos de orientación a objetos de los objetos ABAP son esencialmente los mismos de otros lenguajes como C o Java. Los objetos ABAP también tienen elementos muy útiles del lenguaje que C y Java no ofrecen.
Como se piensa en la POO: Es muy parecido a la vida real. En el ejemplo de un coche, éste es el elemento principal y tiene una serie de características, como el color, el modelo o la marca. El coche tiene una serie de funcionalidades asociadas, como ponerse en marcha o parar. En POO el coche sería el objeto, las propiedades serían las características y los métodos serían las funcionalidades. Los POO utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios. Los objetos se pueden utilizar en los programas. Los POO utilizan muchos objetos para realizar las acciones y ellos mismos también son objetos.
Conceptos clave de la POO:
- Objeto: Es una porción de código fuente que contiene datos y proporciona servicios. Se usan para modelar objetos o entidades del mundo real. Es la representación en un programa de un concepto y contiene toda la información necesaria para abstraerlo: datos que describen sus atributos y operaciones que pueden realizarse sobre ellos mismos. Los datos constituyen los atributos del objeto. Los servicios que proporciona el objeto se conoce como métodos y se parecen las funciones. Generalmente, los métodos operan con los datos privados del objeto, con datos que son solo visibles para los métodos del objeto. Los atributos de un objeto no pueden ser cambiados directamente por el usuario del objeto. Solo pueden ser cambiados por los métodos del objeto.
- clase: Es un conjunto de objetos que tienen la misma estructura y comportamiento. La palabra “Ave” es un ejemplo de una clase, ya que define un grupo de animales con una serie de características comunes. La palabra es lo que se conoce como un concepto de abstracción. Cada vez que se dice que algo es alguna cosa, se está clasificando, asociándolo a una clase. En la clase “Ave” se podrían definir todas las características que tienen las aves (pico, color, alto, ancho, patas). Estas características, se denominan atributos. Las aves también tienen ciertos mecanismos específicos (comer, dormir, reproducirse). Estos mecanismos se denominan métodos. Las aves reaccionan ante ciertos sucesos (peligro, atracción, defensa). Estos sucesos se denominan eventos.
- instancia: Es un objeto de una clase en particular creado en tiempo de ejecución. Una clase simboliza la definición de un objeto, pero no es el objeto en sí. Se necesita convertir una idea en algo, un objeto real. Cada vez que se crea de una nueva instancia, ésta adquiere atributos, métodos y eventos de la clase a la que pertenezca, sin embargo, cada instancia es independiente de otras. Tiene dos ventajas:
- Si hay cambios en la clase, todas las instancias de esta clase se actualizarán automáticamente. Esto permite hacer cambios sin tener que ir a cada una de las instancias.
- Al ser independientes de otras instancias, se pueden dar valores diferentes sin que afecte a las demás. Aunque comparten estructura, pueden programarse individualmente dando versatilidad y flexibilidad.
Ventajas de la orientación a objetos:
- Sistemas de software muy complejos se vuelven más simples de comprender, debido a que POO proporciona una representación más cercana a la realidad.
- En un sistema diseñado con POO es posible realizar cambios a nivel de la clase, sin tener que realizar cambios en otro punto del sistema.
- A través del polimorfismo y la herencia es posible la reutilización de componentes individuales.
- La cantidad de trabajo en revisión y mantenimiento del sistema se reduce, debido a que muchos problemas pueden ser detectados y corregidos en la fase de diseño.
- Facilita el trabajo en equipo ya que varios desarrolladores pueden trabajar en distintos componentes de un mismo desarrollo.
NOTA: Las limitaciones de las POO son:
- limitaciones para el programador: debido a que no se está acostumbrado a trabajar con objetos.
- tamaño excesivo en las aplicaciones resultantes: existen casos que el sistema no pueda soportarlo, debido a su tamaño y rendimiento.
- problemas clases heredadas: cuando se heredan clases a partir de clases existentes se heredan todos los miembros de dicha clase aunque no se necesiten, lo que implica que hay aplicaciones muy grandes que igual no encajan para los sistemas que se dispone.
- velocidad de ejecución: una aplicación innecesariamente pesada en muchas ocasiones es mas lenta de ejecutar que una aplicación que únicamente tiene los módulos necesarios.
NOTA: A pesar de las ventajas, podemos encontrar algunas características no deseadas: Las limitaciones para el programador cuando no está familiarizado con la POO, Tamaño excesivo en las aplicaciones resultantes, Problema con las clases heredadas, ya que se hereda todos los miembros de la clase aunque no se necesiten y Velocidad de ejecución al ser más pesadas las aplicaciones.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Francisco Ortega Aguilar
Favorito:
Está publicación ha sido agregada a sus favoritos por: Francisco Ortega Aguilar
Sobre el autor
Publicación académica de Felipe Estepa Quintero, en su ámbito de estudios para la Carrera Consultor ABAP.
Felipe Estepa Quintero
Profesión: Tecnologo en Gestion Logistica - Colombia - Legajo: QH16V
✒️Autor de: 118 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Felipe Estepa