✒️ABAP Introducción a la Programación Orientada a Objetos
ABAP Introducción a la Programación Orientada a Objetos
1.- Qué es la programación Orientada a Objetos (POO).
Es un método de desarrollo de software basado en el comportamiento de los objetos en el mundo real. La POO es lo que se le conoce como un paradigma o modelo de programación, es una forma de programar o plantear la programación, NO ES un lenguaje de programación o una tecnología.
Tenemos que aprender a programar en términos de:
Objetos.
Propiedades.
Métodos, etc.
Los Objetos ABAP, son conjuntos de sentencias orientadas a objetos que han sido introducidas en el lenguaje ABAP a partir de la versión 4.0. Esta extensión se basa en el lenguaje ya existente, siendo compatibles entre sí. Se pueden usar objetos en programas existentes, de la misma manera que se pueden usar sentencias ABAP convencionales en programas ABAP orientados a objetos.
La POO son esencialmente los mismos de otros lenguajes como son C y Java. Los objetos ABAP también tienen elementos muy útiles del lenguaje C y Java y viceversa.
Historia:
- Primero Lenguaje Ensamblador compuesta entre operador y operandos.
- Segundo Fortrand,Cobol y Algol donde los objetos y operaciones del mundo real se podían modelar mediante datos y estructuras de control separadamente, esta etapa se enfoca sobre la representación del detalle procedimental y en función del lenguaje elegido, conceptos como básicos aparecen en esta etapa: "Refinamiento Progresivo", "Modularidad", "Procedimientos" y "Programación Estructurada", aqui existe una mayor abstracciónde los datos.
- Tercero: Aparecen conceptos de: "Abstracción" y "Ocultación" de la información.
- Finalmente en una Cuarta Etapa: A partir de los 70's Simula 70
2.- Cómo se piensa en la POO?
Pensemos en un coche con una seríe de características, como podrían ser el COLOR, el MODELO o la MARCA. Además tiene una serie de funcionalidades asociadas, como pueden ser ACELERAR O FRENAR.
- Objeto: COCHE.
- Propiedades: COLOR ó MODELO.
- Métodos: ACELERAR ó FRENAR.
Los Programas Orientados a Objetos utilzan 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á objeto coche, herramientas, mecánico,recambios,etc.
3.- Conceptos claves de la POO.
- OBJETO: Parte de un Código Fuente que contiene datos y proporciona servicios.Los servicios que proporciona el objeto se conocen como métodos y se asemejan en su funcionamineto a las funciones de ABAP. Normalmente los métodos son privados, es decir, los datos sólo son visibles para los métodos de los objetos, De esta manera los atributos de un objeto no pueden ser cambiados directamente por el usuario del objeto, sólo pueden ser cambiados por los métodos de ese objeto. Así se garantiza la consistencia interna del objeto.
- CLASE: Conjunto de objetos que tienen la misma estructura y comportamiento. En la POO una clase es código donde se definen a todos los elementos relacionados con ella. Así por ejemplo una clase "ave" tiene las siguientes características (pico,coloralto,ancho,patas,..) esas características, en programación se llaman atributos.
- MÉTODOS: Procedimientos internos de una clase que definen el comportamiento de un objeto. En el ejemplo de las aves estas tiene mecanismos especificos como comer,dormir, reproducirse,etc.Estos mecanismos se les llama métodos.
- EVENTOS: Las aves reaccionan a ciertos sucesos, como el peligro,atracción, defensa... A esto lo llamamos eventos.
Palabra(AVE),Caracteristicas(altura,ancho,color), Mecanismos(comer,dormir,descansar), Reacciones(peligro,celo,hambre).,
Clase(AVE), Propiedades(altura,ancho,color), Métodos(comer,dormir,descansar), Eventos(peligro,celo,hambre).
- 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 un objeto en sí, para conertirlo en un objeto real, a ese objeto lo llamamos INSTANCIA.
Al ser indepensientes de las otras instancias, puedo darles valores diferentes sin que afecten a las demás (como tener una silla negra, una roja, una más alta,etc.) Aunque compartan la misma estructura, pueden programarse indivisualmente, dando versatilidad y flexibilidad al código.
4.- Principales ventajas de la Programación Orientada a Objetos.
- Es mucho más simple de comprender debido a la POO proporciona una representación mucho más cercana a la realidad que otra técnicas de programación.
- En un sistema correctamente diseñado con Orientación a Objetos es posible realizar cambios al nível de las clases, sin tener que realizar cambios en ningún otro punto del sistema. Esto reduce significativamente el costo total del mantenimiento necesario.
- 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 debido a que varíos desarrolladores pueden trabajar en distintos comopenentes de un mismo desarrollo.
CARACTERISTICAS NO DESEABLES DE LA PROGRAMACION ORIENTADA A OBJETOS:
- Las limitaciones del programador, no obstante que la tecnología orientada a objetos no es nueva nueva un gran porcentaje de los programadores no están familiarizados con los conceptos de dicha tecnología.es decir, la lógica de la programación estructurada sigue siendo predominante en la mayoría de los desarrolladores de software, En La POO se requiere una lógica de pensamiento totalmente diferente a la lógica común de la programación estructurada
- El tamaño excesivo en las aplicaciones resultantes.
- Otra desventaja es que cuando se heredan clases a partir de clases existentes se heredan de forma implicita todos los miembro de dicha clase, aún cuando no todos se necesitan, lo que produce que haya aplicaciones muy grandes que no siempren encajan en los sistemas con los que se dispone.
- Velocidad de ejecución, esto tiene que ver mucho con el punto anterior, ya que un aplicación innecesariamente pesada en muchas ocasiones es más lenta de ejecutar que una aplicación conformada únicamente por los modulos necesarios.
 
 
 
Sobre el autor
Publicación académica de Gustavo Alberto Ramirez Franco, en su ámbito de estudios para la Carrera Consultor ABAP.
Gustavo Alberto Ramirez Franco
Profesión: Ingeniero en Sistemas Computacionales - Mexico - Legajo: TA38Q
✒️Autor de: 38 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Gustavo Ramirez