✒️ABAP Introducción a la Programación Orientada a Objetos
ABAP Introducción a la Programación Orientada a Objetos
INTRODUCCIÒN AL LA PROGRAMACIÒN ORIENTADA A OBJETOS
1.- Què es la programaciòn orientada a Objetos:
Es un mètodo de desarrollo de software basado en le comportamiento de los objetos en el mundo real.
La POO es lo que se conoce como un paradigma o modelo de progamaciòn. Esto significa que no es un lenguaje especìfico, o una tecnologìa, sino un aforma de programar, un amanera de plantearse la programaciòn.
No es la ùnica (o necesariamente mejor o peor que otras), pero se ha constituido en una de las formas de programar màs populares e incluso muchos lenguajes que usamos hoy dìa lo soportan o estàn diseñados bajo este modelo.
Con la POO tenemos que aprender a pensar las cosos de una manera distinta, para escribir nuestros programas en tèrminos de objetos, propiedades, mètodos y otros conceptos màs.
Los objetos ABAP son un conjunto de sentencias orientadas o 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 objetos.
"Un pequeño nùmer de conceptos que han probado no se provechosos en estos lenguajes no se incluyeron en los objetos ABAP".
"Por otro lado los objetos ABAP tambièn tienen elementos muy ùtiles que el lenguaje C y Java no ofrecen".
2.- Còmo se piensa en la POO.
Pensar en tèrminos de objetos es muy parecido c còmo harìamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema POO: Dirìamos que el coche es el elemento principal que tiene una serie de caracterìsticas, como podrìa ser el color, el modelo o la marca. Ademàs tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha o parar.
En un esquema de POO el coche serìa el objeto, las propiedades serìan la caracterìsticas como el color o el modelo y los mètodos serìan las funcionalidades asociadas, como ponerse en marcha o parar.
Los programas Orientados a objetos utilizan muchos objetos para realizar las acciones que 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, etc.
3.- Conceptos clave de Orientaciòn a objetos.
Objeto.- Es ùnicamente una portciòn de còdigo fuente que contiene datos y proporciona servicios
Loa objetos en programaciòn se usan 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.
Los datos constituyen los atributos del objeto. Los servicios que proporciona el objeto se conocen como mètodos y se asemejan en su funcionamiento a las funciones. Normalmente los mètodos operan con los datos privados del objeto, esto es, con datos que son sòlo visibles para los mètodos del objeto.
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.- Es un objeto 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 un perro no es un ave.
La clasificaciòn es algo que hacemos todos los dìas, a cada momento. Cada vez que decimos que algo es alguna cosa, estamos clasificàndolo, asociando a una clase.
Sin embargo, sabemos que la palabra ave no se refiere a un animal concreto, sino a un aserie de animales. Ave es la palabra que usamos para identificarlos en un grupo, pero no podemos decir hoy harè volar la palabra "ave", en tal caso siempre nos referiremos a esta o aquella ave, siempre hablaremos de un animal concreto. La palabra es lo que conocemos como un concepto, una abstracciòn.
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, alto, ancho, patas) estas caracterìsticas las llamaremos en lenguaje de programaciòn atributos.
Pero aùn no termina, resulta que las aves tienen tambièn ciertos mecanismos especìficos, como comer, dormir, reproducirse, etc. Estos mecanismos se llaman mètodos.
Por ùltimo, tambièn sabemos que las aves reaccionan ante ciertos sucesos, como peligro, atracciòn, defensa. A esto lo llamaremos 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ì, del modo como una idea no es una cosa fìsica. Asì que para sentarnos necesitaremos convertir esa idea en algo, en un objeto real, a ese objeto lo llamamos instancia.
Cada vez que creamos una nueva instancia, èsta adquiere atributos, mètodos y eventos de la clase a la que pertenece, sin embargo, cada instancia es independiente de los 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. Aunque comparten la misma estructura, pueden programarse individualmente, dando versatilidad y flexibilidad al còdigo.
4.- Principales ventajas de la orientaciòn 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 clase, 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.
Carcaterìsticas no deseables:
- Un gran porcentaje de los programadores no estàn familiarizados con los conceptos de POO.
- El tamaño excesivo de las aplicaciones resultantes, cuando se heredan clases a partir de clases existentes se heredan de forma implìcita todos los miembros de estas clases aunque no se las necesita, esto afecta al rendimiento de la aplicaciòn por el tamaño excesivo.
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.
Certificación Académica de Miguel Acosta