✒️ABAP POO La creación de objetos
ABAP POO La creación de objetos
CREACION DE OBJETOS
¿QUE SON 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 (Area de memoria de un programa ABAP)
Una CLASE puede tener un número indefinido de INSTANCIAS.
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.
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 usa para crear instancias en la memoria ABAP es lo que se conoce como INSTANCIACION.
Si es la primera vez que la CLASE es accedida, entonces la CLASE también se carga en la memoria ABAP.
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 contiene el valor inicial o bien contiene la referencia a un objeto ya existente.
Solo la variable referenciada conoce la identidad del objeto.
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.
Hay dos tipos de referencias,
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.
Esta adición se usa en las sentencias TYPES o DATA.
Una variable de este tipo se llama variable referenciada a calse o referencia a clase simplemente.
CREACION 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:
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.
Se puede utilizar la condición IF r_vehiculo1 IS INITIAL para determinar si al 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 / recolector de basura. Es una rutina del sistema se inicia cuando el sistema no tiene tareas más importantes, elimina los objeto no referenciados de la memoria principal liberando espacio de la memoria. Identifica y descarta los objetos no necesarios para un programa liberando recursos.
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para el Máster ABAP POO.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial