✒️ABAP El tratamiento de los Objetos
ABAP El tratamiento de los Objetos
Los objetos son instancias de las clases. Cada objeto tiene identidad propia y tiene sus propios atributos. Todos los objetos transitorios residen en el contexto de una sesión interna. Una clase puede tener un número indefinido de instancias. Un objeto existe mientras se esté usando el programa, lo que quiere decir que existe siempre que al menos una referencia apunte hacia él, o al menos un método del objeto esté registrado como método manejador de eventos.
Referencias a objetos: son punteros a los objetos ABAP. Se usan para acceder a un objeto desde un programa. Los objetos están siempre contenidos en variables referenciadas. Las variables referenciadas o bien contienen el valor inicial o bien contienen 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 a la identidad del objeto directamente. Abap contiene un tipo de datos predefinido para las referencias. 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:
Referencias a clases: TYPE REF TO (clase). Dicha adición se usa en las sentencias TYPE o DATA. Esta referencia permite al usuario crear una instancia, es decir, un objeto de la clase y acceder a un componente visible: cref > comp.
Creación de objetos. Antes de crear el objeto es necesario crear una variable referenciada con referencia a la clase. Después se crea el objeto usando la sentencia CREATE OBJECT. Esta sentencia crea una instancia de la clase y la variable referenciada contiene la referencia al objeto.
Los programas sólo pueden acceder a los componentes de las instancias usando las referencias de las variables referenciadas. Siendo ref la variable referenciada:
-Para acceder al atributo: attr: ref > attr.
-Para llamar al método meth: CALL METHOD ref>meth.
Para los componentes estáticos o independientes de la instancia, se pueden usar, tanto la variable referenciada como el nombre de la clase. También es posible acceder a los componentes estáticos de una clase antes de que un objeto de la clase haya sido creado. Siendo class la clase:
-Para acceder al atributo estático: class>attr.
Para llamar al método estático: CALL METHOD class>meth.
Dentro de una clase también se pueden acceder a los componentes individuales mediante la referencia a sí mismo ME:
-Para acceder al atributo attr en la propia clase: me>attr.
-Para llamar al método meth en la propia clase: CALL METHOD me>meth.
Asignación de referencias: Se pueden asignar referencias a distintas variables referenciadas usando la sentencia MOVE. De esta manera se puede tener las referencias en varias variables referenciadas apuntando al mismo objeto. Cuando se asigna una referencia a una variable referenciada distinta, sus tipos deben ser compatibles. Si escribimos la sentencia CREF1=CREF2 las dos referencias tienen que tener el mismo tipo, esto es, tienen que referirse a la misma clase.
La clase OBJECT no tiene componentes. Las variables referenciadas con el tipo OBJECT pueden funcionar como contenedoras para pasar referencias.
 
 
 
Sobre el autor
Publicación académica de Diego Baigorria, en su ámbito de estudios para la Carrera Consultor ABAP.
Diego Baigorria
Profesión: Aux Sistemas - Argentina - Legajo: ZC10B
✒️Autor de: 83 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP Fiori
- Máster Material Management en SAP S/4HANA LOGISTIC
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial