✒️ABAP POO Creación de Objetos

Publicación Académica por Oscar Perez

Publicación Académica creada y compartida por Oscar Perez para el tema Creación de Objetos.

Dentro del ámbito de estudios: Máster ABAP POO / Unidad 1: Introducción a la Programación Orientada a Objetos en ABAP.

¿Buscás una carrera con Futuro?

ABAP POO Creación de Objetos por Oscar Perez

Unidad-1-Lección-7: Creación de Objetos ¿Qué son Objetos?

Los objetos son instancias de las clases.

Cada objeto tiene una identidad propia y tiene sus propios atributos. Todos los objetos transitorios residen en el contexto de una sesión interna (área de memoria de un programa ABAP).

Una CLASE puede tener un número indefinido de instancia (objetos de una clase determinada, que fueron creados en tiempo de ejecución.).

Nota: Un objeto existe mientras se esté usando en el programa. Existe siempre que por lo menos una referencia apunte hacia él o que un método del objeto esté registrado como método manejador de eventos.

AUDIO TIP 1: Una CLASE contiene la descripción genérica de un objeto y describe todas las características que tienen en común todos los objetos de una clase. Mientras ejecutamos un programa una clase se utiliza para crear instancias en la memoria ABAP. Esto es lo que se conoce como Instanciación. Si es la primera vez que la CLASE es accedida, entonces la CLASE también se carga en la memoria ABAP.

2) Referencias a Objetos

Son punteros a los objetos ABAP.

Las referencias a objeto se usan para acceder a un objeto desde un programa ABAP. En ABAP los objetos están siempre contenidos en variables referenciadas.

Las variables referenciadas o bien contienen el valor inicial o bien contiene la referencia a un objeto ya existente. La identidad de un objeto depende de su referencia. Una variable referenciada que apunta a un objeto es la que conoce la identidad del objeto. Los usuarios no pueden acceder la identidad del objeto directamente.

Las variables referenciadas en ABAP son tratadas como cualquier otro objeto de datos elemental. Esto quiere decir que una variable referenciada pude contener una tabla interna o una estructura.

ABAP contiene un tipo de datos predefinido para las referencias, comparable a los tipos de datos para las estructuras o para las tablas internas. El tipo de datos completo no está definido hasta la declaración en el programa ABAP. El tipo de datos de la variable referenciada determina como el programa actúa con su valor, o sea, con la referencia al objeto.

Hay dos tipos principales de referencias, la referencia a clases y la referencia a interfaces, las cuales se verán más adelante en el curso.

Las referencias a clases se definen usando la siguiente adición:

TYPE REF TO <clase>.

Ejemplo:

CLASS VEHICULO DEFINITION.

PUBLIC SECTION.

PUBLIC SECTION.

ENDCLASS.

CLASS VEHICULO IMPLEMENTATION.

ENDCLASS.

DATA: r_vehiculo1 TYPE REF TO vehiculo,

r_vehiculo2 LIKE r_vehiculo1.

START-OF-SELECTION.

Esta adición se usa en las sentencias TYPES o DATA. Una variable de este tipo se llama variable referenciada a clase o referencia a clase simplemente.

3) Creación de Objetos

Antes de crear un objeto de una clase es necesario declarar una variable referenciada con la referencia a la clase, tal como hicimos en el punto anterior. Una vez que se ha declarado la referencia a la clase, se puede crear el objeto usando la sentencia siguiente:

CREATE OBJECT <referencia>.

Esta sentencia crea una instancia de la clase a la cual pertenece la variable referenciada.


EJEMPLO:

DATA: r_vehiculo1 TYPE REF TO vehiculo,

r_vehiculo2 LIKE r_vehiculo1.

START-OF-SELECTION.

CREATE OBJECT r_vehiculo1.

CREATE OBJECT r_vehiculo2.

Nota: Podemos utilizar la condición:

IF r_vehiculo1 IS INITIAL

para determinar si la referencia r_vehiculo1 del objeto contiene una referencia nula, es decir si no apunta a ningún objeto.

Si queremos almacenar varios objetos de una misma clase podemos definir una tabla interna que contenga una columna con el objeto referenciado para la clase.

DATA: r_vehiculo TYPE REF TO vehiculo,

itab TYPE TABLE OF REF TO vehiculo.

CREATO OBJECT r_vehiculo.

APPEND r_vehiculo TO itab.

Si no existe una referencia que apunte a un objeto, el objeto no puede ser accedido sintácticamente.

El garbage collector o recolector de basura es una rutina del sistema se inicia automáticamente cada vez que el sistema no tiene tareas más importantes y elimina los objetos no referenciados de la memoria principal, liberando el espacio de la misma que permanecía ocupado. El propósito del recolector de basura es identificar y descartar los objetos que ya no son necesarios para un programa, de manera que sus recursos puedan ser recuperados y reutilizados.

Dada la referencia r_objeto podemos utilizar la siguiente lógica:

If r_objeto is INITIAL.

y así determinamos si la referencia es o no nula, es decir, si apunta o no a un objeto.

 

:: Al igual que Oscar ¿Usted está dispuesto a aprender ABAP?

El lunes 25 Febrero 2019 comenzamos la 🎓Carrera Programador ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

✒️Más Publicaciones Académicas sobre Tecnología SAP

Buscador de Publicaciones:


 

Recursos Free:

Los mejores recursos Libres y Gratuitos compartidos con la comunidad: