🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP El tratamiento de los Objetos

ABAP El tratamiento de los Objetos

ABAP El tratamiento de los Objetos

Unidad-5-Lección-3: Tratamiento de Objetos

1) Utilización de 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 instancias.

NOTA: Un objeto existe mientras que se esté usando en 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.

2) Referencias a Objetos.

Son punteros a los objetos ABAP.

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

Las variables referenciadas o bien contienen el valor inicial (INITIAL) 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.

Las variables referenciadas en ABAP son tratadas como cualquier otro objeto de datos elemental. Esto quiere decir que una variable referenciada puede 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, es decir, con la referencia al objeto.

Hay dos tipos principales de referencias, la referencia a clases y la referencia a interfaces, sobre las cuales se hablara en detalle más adelante.

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

TYPE REF TO <class>.

Ejemplo:

DATA: v_alv TYPE REF TO cl_gui_alv_grid.

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

Una referencia a clase permite al usuario crear una instancia (objeto) de la clase y acceder a un componente visible de la siguiente manera: cref->comp

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. Una vez declarada la referencia a la clase, se puede crear el objeto usando la sentencia CREATE OBJECT. Esta sentencia crea una instancia de la clase y la variable referenciada contiene la referencia al objeto.

CLASS counter DEFINITION.

PUBLIC SECTION.

METHODS: set IMPORTING value(set_value) TYPE i,

increment,

get EXPORTING value(get_value) TYPE i.

PRIVATE SECTION.

DATA count TYPE i. "Atributo Dependiente de Instancia

CLASS-DATA v_suma TYPE i. "Atributo Independiente de Instancia

ENDCLASS.

CLASS counter IMPLEMENTATION.

METHOD set.

count = set_value.

ENDMETHOD.

METHOD increment.

ADD 1 TO count.

ENDMETHOD.

METHOD get.

get_value = count.

ENDMETHOD.

ENDCLASS.

DATA number TYPE i VALUE 5.

DATA cnt TYPE REF TO counter.

START-OF-SELECTION.

CREATE OBJECT cnt.

NOTA (Audio Tip 1): Si no existe una referencia que apunte a un objeto, este no puede ser accedido sintácticamente. El Garbage Collector es una rutina del sistema que se inicia de forma automática cada vez que el sistema no tiene tareas más importantes que realizar y elimina los objetos no referenciados de la memoria principal liberando espacio que permanecía ocupado.

El propósito de este Garbage Collector es identificar y descartar los objetos que ya no son necesarios para un programa, de manera que sus recursos puedan ser recuperados y utilizados.

Dada la referencia r_objeto, podemos comprobar si esta apunta a un objeto con la sentencia:

IF r_objeto IS INITIAL.

Mediante esta lógica, determinamos si r_objeto, contiene la referencia nula, es decir, si no apunta a algún objeto.

4) Cómo acceder a los componentes de un Objeto.

Los programas sólo pueden acceder a los componentes de las instancias usando las referencias de las variables referenciadas. La sintaxis es la siguiente, siendo ref la variable referenciada:

%uF0D8 Para acceder al atributo attr: ref->attr

%uF0D8 Para llamar al método meth: CALL METHOD ref->meth

Para los componentes estáticos o independientes de instancia, solo dependientes de clase, se puede usar tanto el nombre de la clase como la variable referenciada. Ejemplo, siendo class la clase:

%uF0D8 Para acceder al atributo estático atrr: class->attr

%uF0D8 Para llamar al método estático meth: CALL METHOD class->meth

Dentro de una clase se puede acceder también a los componentes individualmente mediante la referencia a si mismo ME:

%uF0D8 Para acceder al atributo atrr en la propia clase: me->attr

%uF0D8 Para llamar al método meth en la propia clase: CALL METHOD me->meth

NOTA (Audio Tip 2): Los constructores son un tipo especial de métodos que no pueden ser llamados a través de la sentencia CALL METHOD. Estos métodos son llamados automáticamente por el sistema para fijar el estado inicial de un nuevo objeto o clase.

Hay dos tipos de constructores, los dependientes de instancia y los estáticos o independientes de instancia.

Los constructores son métodos con un nombre predefinido, para usarlos deben ser declarados explícitamente en la clase.

Un constructor será necesario si después de crear una instancia de una clase necesitamos asignar recursos, inicializar atributos que no pueden ser cubiertos con la adición VALUE de la sentencia DATA, modificar atributos estáticos, o enviar mensajes que indiquen que se ha creado un nuevo objeto.

No existe un destructor en los objetos ABAP, es decir, no hay un método de instancia que se llame automáticamente antes que un objeto sea borrado.

5) 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 apuntando al mismo objeto.

Cuando se asigna una referencia a una variable referenciada distinta, sus tipos deben ser compatibles. Cuando se usa la sentencia MOVE o el operador de asignación = para asignar variables referenciadas, el sistema debe ser capaz de reconocer en el chequeo de la sintaxis si la asignación va a ser posible. Esto mismo se aplica cuando se pasan variables referenciadas como parámetros a procedimientos.

Si escribimos cref1 = cref2, las dos referencias tienen que ser del mismo tipo, esto es, esto es, tienen que referirse a la misma clase, o bien la clase de cref1 tiene que ser la clase predefinida como vacía, o sea OBJECT.

La clase OBJECT no tiene componentes, tiene la misma función para las variables referenciadas que el tipo de datos ANY para las variables normales. Las variables referenciadas con el tipo OBJECT pueden funcionar como contenedoras para pasar referencias. De cualquier manera, nunca pueden ser usadas para acceder a objetos.

6) Mi primer programa de objetos.

Vamos a crear nuestro primer programa con orientación a objetos. El objetivo del programa será simular un contador. Para ello, definimos la clase CONTADOR con los métodos públicos y el atributo privado COUNT.

Luego creamos la implementación de la clase.

Declaramos las variables NUMBER de tipo i, inicializada con el valor cinco y CNT que será una referencia de la clase contador. Luego creamos una instancia de la clase contador y ejecutamos el método set. Finalmente, ejecutamos dentro de una iteración el método incrementar_contador el cual sumará 1 al contenido de la variable number, obtenemos su nuevo valor y lo imprimimos en pantalla.


 

 

 

Agradecimiento:

Ha agradecido este aporte: Francisco Ortega Aguilar

Favorito:

Está publicación ha sido agregada a sus favoritos por: Francisco Ortega Aguilar


Sobre el autor

Publicación académica de Oscar Perez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Oscar Perez

Profesión: Ingeniero de Sistemas. Consultor y Desarrollador en Peoplesoft - Canada - Legajo: FD38F

✒️Autor de: 105 Publicaciones Académicas

🎓Cursando Actualmente: Master en Programación ABAP Orientado a Objetos

🎓Egresado de los módulos:

Certificación Académica de Oscar Perez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El tratamiento de los Objetos" de la mano de nuestros alumnos.

SAP Master

TRATAMIENTO DE OBJETOS. UTILIZACIÓN. Los objetos son instancias de las clase cada objeto tiene una identidad propia y sus propios atributos todos los objetos transitorios residen en el contexto de una sesión interna (área de memoria de un programa) Un objeto existe mientras se esté usando en el programa esto quiere decir que existe siempre que al menos una referencia que apunte hacia el o al menos un método del objeto este registrado como manejador de eventos. REFERENCIA A OBJETOS. Son punteros a los objetos. Hay dos tipos de referencia a clases y a interfaces. Las referencias a clases se definen usando la adición TYPE REF TO <CLASS> Esta adición se usa en las sentencias TYPES ó...

Acceder a esta publicación

Creado y Compartido por: Juan Santamaria Borja

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Tratamiento de Objetos 1. Utilización de objetos Los objetos son intancias de la clase. Un objeto existe mientras se esté usando en e programa. referencia hacia el, o método manejador registrado. 2. Referencias a objetos: Punteros a los objetos TYPE REF TO <class>. 3. Creación de objetos CREATE OBJECT 4. Cómo acceder a los componentes de un objeto * Para componentes de la instancia - Atributo: ref -> attr. - Método: CALL METHOD ref -> meth. * Para componentes estáticos - Atributo: class -> attr. o me -> attr. dentro de la clase - Método: CALL METHOD class -> meth. o me -> meth. dentro de la clase ...

Acceder a esta publicación

Creado y Compartido por: Helen Silva Ruiz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Lección 3: Tratamiento de Objetos. 1.- Utilización de objetos. Los objetos son instancias de las clases, cada objeto tiene identidad propia y tiene sus propios atributos. Un objeto existe mientras se esté usando en el programa, es decir, existe siempre que al menos una referencia apunte hacia el, o un método del objeto esté registrado como método manejador de eventos. 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 en son tratadas como cualquier otro objeto de datos elemental, por lo tanto una variable...

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Objetos Instancias de las clases Referencia a Objetos Punteros a los objetos ABAP Tipos: Referencias a clases : DATA: <var> TYPE REF OF <class>. Referencias a interfaces Se accede a los atributos y métodos así: para los atributos : <var>->atributo para los métodos : CALL METHOD <var>->method para referenciarse así mismo se una me. (me->atributo o CALL METHOD me->method) Creación de objetos CREATE OBJECT <var>

Acceder a esta publicación

Creado y Compartido por: Xavier Martinez Garsaball

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

los objetos son instancias de clases y tienen identidad y atributos propios, una clase puede tener un numero indefinido de instancias (referencias a variables) Las referencias a objetos son conocidos como punteros, existen 2 tipos las referencias a clases y a interfaces. para acceder a los atributos y metodos de una clase se emplea el siguiente simbolo ->, tambien e posible usar la palabra ME para referenciar al objeto mismo

Acceder a esta publicación

Creado y Compartido por: Eduardo Vargas

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Utilización de objetos Un objeto existe mientras se esté usando en el programa, es decir, 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. 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. Las referencias a clases TYPE REF TO <class>. Ej: DATA: v_alv TYPE REF TO cl_gui_alv_grid. Creación de Objetos Primero se declara una variable referenciada a la clase y luego se crea al objeto mediante CREATE OBJECT. Ejemplo: CLASS counter DEFINITION....

Acceder a esta publicación

Creado y Compartido por: Javier Exposito Diaz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Tratamiento de Objetos 1- Utilización de 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. Una Clase puede tener un número indefinido de Instancias. NOTA: Un Objeto existe mientras se esté usando en el programa ABAP, o sea mientras una referencia apunte a él, o un Método del Objeto esté registrado como Método Manejador de Eventos. 2- Referencias a Objetos Son Punteros a los Objetos ABAP Se usan para acceder a un Objeto desde un programa ABAP En ABAP los Objetos están siempre contenidos en Variables...

Acceder a esta publicación

Creado y Compartido por: Victor Norberto Levi

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Utilización de objetos. Un objeto existe mientras se esté usando en el programa, lo que quiere decir que existe siempre que al menos una referencia apunta hacia él, o al menos un método del objeto esta registrado como método manejador de eventos. Referencias a objetos. Son punteros a los objetos ABAP Hay dos tipos, las referencias a clases (permite al usuario crear una instancia, es decir un objeto, de la clase acceder a un componente visible) y la referencia a interfaces. Creación de objetos. Una vez se ha declarado la referencia a la clase se puede crear el objeto usando la sentencia CREATE OBJECT. Como acceder a los componentes de un objeto. La sintaxis, siendo Ref la variable referenciada Para acceder...

Acceder a esta publicación

Creado y Compartido por: David De Jesùs Restrepo Cañas

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

UTILIZACIÓN DE OBJETOS 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). Los objetos permanentes en la base de datos aún no están disponibles (documentación del release 4.6B). Una clase puede tener un número indefinido de objetos (instancias). Referencias a objeto Las referencias a objeto se usan para acceder a un objeto desde un programa ABAP. Las referencias a objeto son punteros a los objetos. En ABAP los objetos están siempre contenidos en variables referenciadas. Las variables referenciadas o bien...

Acceder a esta publicación

Creado y Compartido por: Juan Carlos Ayala Chira

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Utilizacion de objetos: son instancias de las clases, cada uno tiene identdad propia y sus porpios atributos. Todos los objetos son transitorios residen en el contexto de una sesion interna (area de memoria de un programa ABAP). Una clase puede tener un numero indefinido de instancias. UN OBJETO EXISTE MIENTRAS SE ESTE USANDO EN EL PROGRAMA, LO QUE QUIERE DECIR QUE EXISTE SIEMPRE QUE AL MENOS UNA REFERENCIA APUNTA HACIA EL, O AL MENOS UN METODO DEL OBJETO ESTÉ REGISTRADO COMO METODO MANEJADOR DE EVENTOS. Referencias a objeto: son punteros a los objetos ABAP. Se usan para acceder a un objeto desde un programa ABAP. En ABAP los objetos estan siempre contenidos en variables referenciadas, estas contienen el valor inicial o la referencia...

Acceder a esta publicación

Creado y Compartido por: Jose Ignacio Rodini

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!