✒️ABAP Introducción a la Programación Orientada a Objetos
ABAP Introducción a la Programación Orientada a Objetos
1° 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. No es un lenguaje de programación específico, o una tecnología, sino una forma de programar, una manera de plantearse la programación.
Los Objetos ABAP son un conjunto de sentencias orientas a objetos. Se basa en el lenguaje existente y es compatible con él. Se pueden usar Objetos en programas existentes (desarrollados con otra metodología), como así también se pueden usar sentencias ABAP convencionales en programas ABAP orientados a objetos.
Orígenes de la POO
- Lenguajes Ensambladores: Unidad de Programación es la Instrucción (Operador 2 Operandos). Nivel de abstracción muy bajo.
- Fortran - ALGOL - COBOL: 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. Refinamiento progresivo, Modularidad, Procedimientos y Programación Estructurada son sus conceptos básicos. Mayor abstracción de los datos.
- Abstracción y Ocultación de la Información:
- Lenguajes de Simulación: Prototipo Simula 70 y basado en éste el lenguaje Smalltalk. Gran importancia en la abstracción de datos y los problemas del mundo real se representan por objetos de datos asociados al conjunto de operaciones. Conceptos como Abstracción de Datos, Objeto, Encapsulación son la base de la POO.
2- Cómo se piensa en la POO?
Si en un esquema POO ponemos como ejemplo un coche la relación sería:
OBJETO = Coche
PROPIEDADES = Características (color, modelo, material, etc.)
MÉTODOS = Funcionalidades (ponerse en marcha, acelerar, parar, etc.)
Los Programas Orientados a Objetos utilizan muchos objetos y ellos mismos son objetos. Por ejemplo el taller mecánico es un objeto que utiliza otros objetos como coches, herramientas, técnico, repuestos, etc.
3- Conceptos Claves de la POO
OBJETO: Es una porción de Código Fuente que contiene Datos y proporciona Servicios. Es la representación de un concepto y contiene toda la información (datos y operaciones) para abstraerlo.
ATRIBUTOS: Los Datos constituyen los Atributos del Objeto. Características del Objeto.
MÉTODOS: Los Servicios que proporciona el Objeto se conocen como Métodos y se pueden asemejar a las Funciones.
Normalmente, los Métodos operan con los Datos Privados del Objeto (Datos sólo visibles para los Métodos). Por lo tanto los Atributos sólo pueden ser cambiados por los Métodos del Objeto.
CLASE: Es un Conjunto de Objetos que tienen la misma Estructura y Comportamiento. No es mas que una palabra que permite una clasificación. Es lo que se conoce como concepto o como abstracción.
En la POO, una Clase es una serie de código que define a todos los elementos relacionados con ella.
EVENTOS: Reacciones propias del Objeto.
INSTANCIA: Es un Objeto de una Clase en particular creado en Tiempo de Ejecución. Viene a ser como la materialización del concepto (abstracción) de la palabra Clase.
Las Instancias tienen los Atributos, Métodos y Eventos de la Clase a la que pertenecen pero son independientes entre sí.
- Todo cambio en la Clase se traslada automáticamente a todas las Instancias de esa Clase.
- Al ser independientes, se les pueden dar valores diferentes sin afectar a las demás. Aunque comparten la misma estructura pueden programarse individualmente, dando versatilidad y flexibilidad al código.
4- Principales Ventajas de la POO
- Sistemas de software muy complejos se vuelven más simples de comprender, ya que la orientación a objetos entrega una representación más cercana a la realidad que con otras técnicas de programación.
- Es posible realizar cambios a nivel de Clases sin tener que realizar cambios en otro punto del sistema.
- A través del Poliformismo y la Herencia es posible la reutilización de componentes individuales.
- El trabajo de Revisión y Mantenimiento se reduce debido a que muchos problemas se detectan 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.
- Desventajas
- Limitaciones para el programador debido al cambio de pensamiento en la forma de programar.
- Tamaño excesivo en las aplicaciones resultantes. Usualmente está obviado por la gran capacidad de los equipos.
- Cuando se heredan Clases a partir de Clases existentes, se heredan todos los miembros de dicha clase aunque no todos sean necesarios.
- Velocidad de Ejecución producto del tamaño excesivo de las aplicaciones.
 
 
 
Sobre el autor
Publicación académica de Victor Norberto Levi, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Norberto Levi
Profesión: Analista Programador - Argentina - Legajo: VT17H
✒️Autor de: 111 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Victor Levi