✒️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
QUE ES LA PROGRAMACION ORIENTADA A OBJETOS (POO)?
Es un método de desarrollo de software basado en el comportamiento de los objetos en el mundo real
Con la POO, tomamos en cuenta que es un método de desarrollo de software basado en el comportamiento de los objetos en el mundo real
Los Objetos 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. Esta extensión se basa en el lenguaje ya existente, siendo compatible con él. Se pueden usar objetos en programas existentes, de la misma manera que se pueden usar sentencias ABAP convencionales en programas ABAP orientados a objetos
Veamos cuales son los orígenes de la programación orientada a objetos.
En una primera etapa surgen los lenguajes ensambladores en donde la unidad de programación es la instrucción compuesta de un operador y los operandos. Aquí el nivel de abstracción que se aplica es muy bajo.
En una segunda etapa surgen los lenguajes de programación Fortran, Algol y Cobol en donde los objetos y operaciones del mundo real se podían modelar mediante datos y estructuras de control separadamente. En esta etapa el diseño del software se enfoca sobre la representación del detalle procedimental y en función del lenguaje elegido. Conceptos como refinamiento progresivo, modularidad, procedimientos y programación estructurada son conceptos básicos que se utilizan en esta etapa. Aquí existe una mayor abstracción de los datos.
En una tercera etapa, se introducen los conceptos de abstracción y ocultación de la información.
Y finalmente un una cuarta etapa, a partir de los años 70 se trabaja sobre una nueva clase de lenguajes de simulación y sobre la construcción de prototipos tales como Simula 70 y basado en este el lenguaje SmallTalk. En estos lenguajes la abstracción de datos tiene una gran importancia y los problemas del mundo real se representan mediante objetos de datos a los cuales se le alía del correspondiente conjunto de operaciones asociados a ellos. Términos como abstracción de datos, objeto, encapsulación entre otros son conceptos básicos sobre los que se fundamenta la programación orientada a objetos (POO).
COMO SE PIENSA EN LA POO
En un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar
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, etc
CONCEPTOS CLAVES DE LA POO
- OBJETO. Es una porción de código fuente que contiene datos y proporciona servicios
Utilizados para modelar objetos o entidades del mundo real (el objeto hijo, madre, o farmacéutica, por ejemplo). Un objeto es, por tanto, 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 los mismos
NOTA: Los datos constituyen los atributos del objeto
- CLASE. Es un conjunto de objetos que tienen la misma estructura y comportamiento
No es más que una palabra, pero nos permite clasificar las cosas. Por ejemplo, sabemos que una gallina es un ave y que un perro no es un ave
En la POO una clase no es más que una serie de código que define a todos los elementos relacionados con ella. Así, podríamos escribir la clase ave colocando en ella todas las características que tienen las aves (pico, color, alto, ancho, patas,…) esas características las llamaremos en lenguaje de programadores, atributos.
- Los METODOS, Son acciones especificas como comer, dormir, reproducirse, etc.
- Los EVENTOS, Son reacciones de los sucesos, como peligro, atraccion, defensa, etc.
- 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í, del modo como una idea no es una cosa física
Al crear una nueva instancia, ésta adquiere atributos, métodos y eventos de la clase a la que pertenece, sin embargo, cada instancia es independiente de las otras; esto nos da dos ventajas:
- Si hago algún cambio en la clase, todas las instancias de esta clase se actualizarán automáticamente; esto nos permite hacer cambios sin tener que ir a cada una de las instancias
- Al ser independientes 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.).
PRINCIPALES VENTAJAS DE LA ORIENTACION A OBJETOS
- Sistemas de software muy complejos se vuelven mucho más simples de comprender debido a que la orientación a objetos proporciona una representación mucho más cercana a la realidad que otras técnicas de programación
- En un sistema correctamente diseñado con orientación a objetos es posible realizar cambios al nivel de la 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 varios desarrolladores pueden trabajar en distintos componentes de un mismo desarrollo
A pesar que las ventajas de la programación orientada a objetos superan a sus limitaciones, podemos encontrar algunas características no deseables en esta. Algunas de ellas son:
Las limitaciones para el programador, no obstante que la tecnología orientada a objetos no es nueva un gran porcentaje de los programadores no están familiarizados con los conceptos de dicha tecnología, en otras palabras, la lógica de la programación estructurada sigue siendo predominante en la mayoría de los desarrolladores de software. Después de haber revisado en forma breve los principios de la POO nos es claro que en ésta se requiere una lógica de pensamiento totalmente diferente a la lógica comúnmente utilizada para la programación estructurada.
Por otro lado tenemos el tamaño excesivo en las aplicaciones resultantes la gran mayoría de los equipos de cómputo cuentan con capacidades tanto de almacenamiento como de memoria lo suficientemente buenas como para ejecutar la mayoría de las aplicaciones que puedan desarrollarse con la tecnología orientada a objetos. Sin embargo, existen casos en los cuales lo anterior no se cumple.
Otro punto que podemos mencionar es que una de las desventajas de la programación orientada a objetos es que cuando se heredan clases a partir de clases existentes se heredan de forma implícita todos los miembros de dicha clase aun cuando no todos se necesitan, lo que produce que haya aplicaciones muy grandes que no siempre encajan en los sistemas con los que se dispone.
Por último, la velocidad de ejecución esto tiene que ver en cierto modo con el punto anterior ya que una aplicación innecesariamente pesada en muchas ocasiones es más lenta de ejecutar que una aplicación conformada únicamente por los módulos necesarios.
 
 
 
Sobre el autor
Publicación académica de Ixhel Magai Lopez Valencia, en su ámbito de estudios para la Carrera Consultor ABAP.
Ixhel Magai Lopez Valencia
Mexico - Legajo: PM62E
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Soy ingeniera en telematica, estoy interesada en aprender programacion en sap, solo tengo conocimientos basicos en java
Certificación Académica de Ixhel Lopez