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

 X 

✒️ABAP La definición de Clases, Atributos, Métodos y Eventos

ABAP La definición de Clases, Atributos, Métodos y Eventos

ABAP La definición de Clases, Atributos, Métodos y Eventos

1.- Clases locales y globales.

Las clases globales se definen en el generador de clases, a través de la transacción SE24 en el ABAP Workbench.

SE24: Utilizaremos el "Generador de clases" correspondiente a la transacción SE24 para la administración de las clases e interfases definidas en el sistema SAP.

Estas clases se almacenan en el CLASS POOL todo programador ABAP puede acceder a las clases globales.

Las clases locales se definen en un programa ABAP y sólo pueden ser invocarse desde el programa en el que se han definido.

Cuando se usa una clase, el programa ABAP busca primero una clase local y luego una clase global, en cuestión de visibilidad no hay ninguna diferencia entre usar una clase global o una clase local. Lo que si cambia sensiblemente es la manera en la que estas son creadas.

2.- Definición de Clases Locales.

Las clases locales son el conjunto de sentencias que están entre las sentencias CLASS <class> DEFINITION. ...ENDCLASS.

Una definición de un clase constará, de las partes:

  • Parte Declarativa: Es la que se conoce como definición de la clase. Contiene la declaración de todos los componentes de la clase (atributos, métodos y eventos). Cuando se definen las clases locales, la parte declarativa pertenece a los datos globales del programa, por tanto se habrán de colocar al principio del programa.
  • Parte de Implementación: Es la que se conoce como implementación de la clase, en la que se implementan los componentes. Si en el programa se declaran métodos en la parte declarativa de una clase, se deberán escribir también su parte de implementación. Esta va incluida entre las siguientes sentencias CLASS <class> IMPLEMENTACION.. ENDCLASS.

La parte de la implementación contiene la implementación de todos los métodos de la clase. Esta parte actúa como un bloque, esto quiere decir que cualquier sección de código que no forme parte del bloque no será acceseible.

4.- ATRIBUTOS.

Son los campos de datos internos de una clase y pueden tener cualquier tipo de datos ABAP.

El estado de un objeto viene determinado por el contenido de sus atributos. Un tipo de atributos son las variables referenciadas. Estas variables permiten crear y acceder a los objetos, de manera que si se definen en una clase permiten acceder a otros objetos desde dentro de la clase.

Existen 2 tipos de atributos:

  • Dependientes de instancia: Donde el contenido de los atributos es especifico de cada objeto, Se declaran usando la sentencia DATA.
  • Independientes de instancia o estáticos: Donde el contenido de los atributos define el estado de la clase y es válido para todas las instancias de la clase.

Losa tributos estáticos:

  • Existen sólo una vez para la clase.
  • Se declaran usando la sentencia CLASS-DATA.
  • Son accesibles desde todo el entorno de ejecución de la clase.
  • Todos los objetos de una clase pueden acceder a sus atributos estáticos.
  • Si se cambia un atributo estático en un objeto, el cambio es visible en todos los demás objetos de la clase.

5.- MÉTODOS.

Son procedimientos internos de una clase que definen el comportamiento de un objeto.

  • Los métodos pueden acceder a todos los atributos de una clase. Esto les permite cambiar el contenido de los atributos de un objeto.
  • Los métodos poseen también una interface con parámetros que les permiten recibir valores cuando son invocados y devolver valores después del llamado.
  • Los atributos privados de una clase sólo pueden ser cambiados por métodos de la misma clase.
  • La definición y la interface de un método son similiares a las de los módulos de funciones.
  • Un método se define en la parte declarativa de la clase y se implementa en la parte de la implentación usando sentencias: METHOD <meth>. ..... ENDMETHOD.

Se pueden declarar tipos de datos locales y objetos en los métodos de la misma manera que en cualquier otro procedimiento ABAP. Los métodos se llaman mediante la sentencia CALL METHOD.

Existen 3 tipos de métodos:

  1. Dependiente de Instancia. Se declaran usando la sentencia METHODS. Pueden acceder a todos los atributos de una clase y pueden desencadenar todos los eventos de una clase.
  2. Independiente de instancia o estáticos. Se declaran usando la sentencia CLASS-METHODS. Solo pueden acceder a los atributos estáticos y desencadenar eventos estáticos.
  3. Especiales: Además de los normales que son llamados con CALL METHOD, hay 2 métodos especiales llamados CONSTRUCTOR y CLASS_CRONSTRUCTOR que son automáticamente llamados cuando se crea un objeto(CONSTRUCTOR) o cuando se accede por primera vez a los componentes de la clase (CLASS_CONSTRUCTOR).

6.- EVENTOS.

Son acontecimientos o sucesos que utilizan los objetos o las clases para desencadenar la ejecución de un método en otro objeto o clase.

  • Son métodos que manejan eventos (event handler methods).
  • El método puede ser llamado por cualquier número de usuarios.
  • Cuando un evento es desencadenado, cualquier número de estos métodos puede ser llamado.
  • La unión entre el dispardor de eventos "triger" y el manejador de eventos "handler", se establece en tiempo de ejecución.
  • En las llamadas normales a métodos, el programa que llama determina los métodos a los que quiere llamar. Estos métodos tienen que existir.
  • El manejador de eventos "handler" determina los eventos a los cuales tiene que reaccionar.
  • No tiene porque existir un método manejador de eventos registrado para cada evento.
  • Los eventos de una clase pueden ser desencadenados en los métodos de la misma clase usando la sentencia RAISE EVENT.
  • Un método de la misma o diferente clase, se declara como método manejador de eventos utilizando la adición FOR EVENT OF.
  • Los eventos tienen una interface de parámetros similar a la de los métodos, pero solo tiene parámetros de salida. Los parámetros pasan por el disparador (sentencia RAISE EVENT) al método manejador de eventos el cual los recibe como parámetros de entrada.
  • El vinculo de unión entre el disparador y el manejador (triger y handler) es establecido dinámicamente en el programa usando la sentencia SET HANDLER.
  • El disparador o manejador pueden ser objetos o clases, depende si tenemos eventos dependientes de instancia o eventos estáticos y métodos manejaderos de eventos.
  • Cuando un evento es disparado, el correspondiente método manejador de eventos es ejecutado en todas las clases registradas para ese manejador.

Existen 2 tipos de eventos:

  1. Dependientes de Instancia: Se declaran con la sentencia EVENTS. Sólo pueden ser desencadenados en un método dependiente de instancia.
  2. Independientes de instancia o estáticos: Se declaran con la sentencia CLASS-EVENTS. Todos los métodos pueden desencadenar eventos estáticos, el método estatico es el único que puede desencadenar eventos estáticos.

7.- TIPOS Y CONSTANTES.

Se pueden definir tipos de datos ABAP dentro de una clase con la sentencia TYPES. Los tipos de datos no son especificos de cada instancia y existen una sola vez para todos los objetos de la clase.

Las constantes son un tipo especial de atributos estáticos. Su valor declarado es fijo y no puede ser cambiado. Se declaran usando la sentencia CONSTANTS. Las constantes existen sólo una vez para todos los objetos de la clase.

Cuando definimos tipos de datos dentro de la definición de una clase podremos utilizar la adición READ ONLY, luego de escribir el tipo de la variable que acabamos de declarar esto significa que el atributo público que fue declarado con la sentencia DATA puede ser leído desde afuera de la clase, pero solo podrá ser modificado por métodos de la misma clase, solamente se podra utilizar la adición READ ONLY, dentro de la parte pública de la declaración de una clase.

8.- Visibilidad de una Clase.

La parte declarativa o definición de una clase, se divide en 3 áreas de distinta visibilidad:

  • CLASS <class> DEFINITION.
  • PUBLIC SECTION.
  • PROTECTED SECTION.
  • PRIVATE SECTION.
  • ENDCLASS.

Estas tres áreas definen la visibilidad externa de los componentes de la clase, esto es,la interface entre la clase y el usuario.

Cada componente de una clase, será asignado a una de estas 3 secciones:

PUBLIC SECTION (Parte Pública): Los componentes declarados aquí son accesibles para todos los usuarios de la clase y para todos los métodos de la clase y de cualquier clase que herede de ella. Los componentes públicos conforman la interface entre la clase y el usuario.

PROTECTED SECTION (Parte Protegida): Los componentes declarados son accesibles para todos los métodos de la clase y de las clases que heredan de ella. Los componentes protegidos conforman la interface entre una clase y todas sus subclases.

PRIVATE SECTION (Parte Privada): Los componentes declarados son sólo visibles en los métodos de la misma clase. Los componentes de la misma clase. los componentes privados no forman parte de la interfase externa de la clase.

Los atributos de una clase a los que un usuario externo puede acceder directamente son los atributos públicos, los componentes públicos de una clase comunmente se conocen como la INTERFASE de la clase, a la sección de visibilidad privada también se le conoce comunmente como la "ocultación de la información" ó "Encapsulamiento", en parte, esto es para proteger al usuario de una clase ya que se supone que los componentes privados de una clase, se modificarán en algún momento pero su interfase será siempre la misma, todos los usuarios externos solo pueden acceder a sus componentes a través de la interface de la clase, por lo que se continuará trabajando con la clase como de costumbre después de realizado el cambio, el usuario no se dará cuenta del cambio ya que sólo la implementación interna fue modificada, por el contrario si los componentes públicos de una clase son modificados de manera incompaible, cada usuario externo tendría que tomar en cuenta estos cambios, en conclusión debemos utilizar los atributos públicos de una clase con mucha moderación o bien evitar modificar los componentes públicos de nuestras clases.


 

 

 


Sobre el autor

Publicación académica de Gustavo Alberto Ramirez Franco, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Gustavo Alberto Ramirez Franco

Profesión: Ingeniero en Sistemas Computacionales - Mexico - Legajo: TA38Q

✒️Autor de: 38 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Gustavo Ramirez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La definición de Clases, Atributos, Métodos y Eventos" de la mano de nuestros alumnos.

SAP Master

Definición de Clases, Atributos, Métodos y Eventos 1. Clases locales y globales * Clases globales (SE24 "Generador de clases") * Clases locales: Se definen en un programa ABAP y sólo pueden ser invocadas desde el programa dn el que se han definido. 2. Definición de clases locales CLASS...ENDCLASS. Partes: * Declarativa: Definición de la clase, en la que se definen componentes CLASS <class> DEFINITION. ... ENDCLASS. * Implementación: Donde se implementan los componentes definidos. Contiene todos los métodos de la clase. CLASS <class> IMPLEMENTATION. ... ENDCLASS. 3. Estructura y componentes de una clase ...

Acceder a esta publicación

Creado y Compartido por: Helen Silva Ruiz

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

SAP Expert


Clases locales y globales. Las clases globales se definen en el generador de clases a través de la transacción SE24 en el ABAP workbench. Estas clases son almacenadas en el class pools en la librería de clases en el repositorio R/3. Las clases locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa en el que se han definido. Definición de las clases locales. Las clases locales se encuentran dentro de las sentencias CLASS---ENDCLASS La definición de una clase constara de una parte declarativa, en la que se definen los componentes y una parte de implementación es lo que se conoce como implementación de la clase. Estructura y componentes de una clase. La estructura se...

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

Lección 2: Definición de Clases, Atributos, Métodos y Eventos. 1.- Clases locales y globales. Las clases globales se definen en el generador de clases, a través de la transacción SE24 en el ABAP Workbench. Estas clases son almacenadas en el Class Pools en la librería de clases en el repositorio R/3. Todos los programas ABAP en un sistema R/3 pueden acceder a las clases globales. Las clases locales se definen en un programa ABAP y sólo pueden ser invocadas desde el programa en el que se han definido. Cuando se usa una clase en un programa ABAP el sistema busca primero una clase local con el nombre especificado, si no encuentra ninguna entonces busca una clase global. 2.- Definicion de clases...

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

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

SAP Senior

Trx SE24 para generar clases globales. Las clases globales son almacenadas en Class Pools Todos los programas ABAP pueden acceder a las clases globales. Las clases locales se crean en un programa ABAP Las clases locales solo pueden ser invocadas desde el programa donde se han creado Definición de clase: CLASS <name class> DEFINITION. ENDCLASS. Implementación de clase: CLASS <name class> IMPLEMENTATION. ENDCLASS. Clase --> Componente --> Visibilidad (público, protegido, privado). Clases implementan métodos. Hay 2 tipos de componentes (atributos, meéodos y eventos) que pueden ser: * Dependientes de Instancia,...

Acceder a esta publicación

Creado y Compartido por: Hazel Maribel Flores Martin

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

SAP Master

Clases Dos tipos de clases, globales (Tx SE24) y locales Clases locales Definición: CLASS <class_name> DEFINITION ............. ENDCLASS. Implementación: CLASS <class_name> IMPLEMENTATION ............. ENDCLASS. Puede contar de: Atributos Métodos Eventos Tiene tres tipos de visibilidad (de más restrictiva a menos): Privada Protegida Pública Atributos Son los campos de datos internos de una clase y pueden ser de cualquier tipo de datos ABAP. Tipos de atributos Dependientes de instancia a) el contenido es único para cada objeto (instancia) de la misma clase b) se declaran usando sentencias...

Acceder a esta publicación

Creado y Compartido por: Xavier Martinez Garsaball

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

SAP Master

En ABAP existen 2 tipos de clases (globales y locales) las globales se definen en el generador de clases (SE24) las clases locales se generan dentro del programa que las empleará los metodos, eventos y atributos mantienen la filosofia de programacion orientada a objetos como paradigma

Acceder a esta publicación

Creado y Compartido por: Eduardo Vargas

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

SAP Senior

Calses: Conjunto de objetos con la misma estructura y comportamiento. Globales: Se definen en el generador de clases a través de la Transacción SE24, en el ABAP Workbench. Son almacenadas en el Class Pool en la librería de clases en el Repositorio R/3. Todos los programas ABAP en este R/3 pueden accederlas. Deben estar preparadas para ser utilizadas en cualquier parte. Locales: Sentencias definidas entre un CLASS ... ENDCLASS. Se definen en un programa ABAP y solo pueden ser invocadas desde este mismo programa, basta con que funcione para este. Constan de una Parte Declarativa (Definición de Clase) que es la comprendida entre las sentencias: ...

Acceder a esta publicación

Creado y Compartido por: Julio Leon

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

SAP Master


LAS CLASES SE PUEDEN DEFINIR LOCALMENTE O GLOBALMENTE SE24: Generados de clases Las Clases locales se definen en un programa ABAP y solo se puede usar en ese programa. DEFINICION DE CLASES LOCALES Sentencia CLASS <clase> DEFINITION...ENDCLASS. Sentencia CLASS <clase> IMPLEMENTATION...ENDCLASS. ESTRUCTURA Y COMPONENTES DE UNA CLASE Se define en: Una clase contiene componentes. Cada componente se asigna a una sección de visibilidad. Las clases implementan métodos. ATRIBUTOS: Son los campos de datos internos de una clase y pueden tener cualquier tipo de datos ABAP. Los atributos dependientes de instancia se define con: DATA Los atributos independientes de instancia se define con: CLASS-DATA METODOS:...

Acceder a esta publicación

Creado y Compartido por: Ivan Dario Lemus Moya

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

SAP Master


Clases locales y globales. Las clases en ABAP se puede declara gobalmente o localmente . Las clases gobales se definen en el generador de clases, a traves de la transaccion SE24 en el ABAP worchbench. Las clases locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa en el que se han definido. Definicion de Clases locales Las clases locales son el conjunti de sentencias que estan entre las sentencias CLASS...ENDCLASS. Estructura y componentes de una clase La estructura de una clase se define principalmente basandose en : * Una clase contiene componetes. * Cada componente se asigna a una seccion de visbilidad (publico, protegido o privada) * Las clases implementan metodos. Los objetos ABAP, las clases pueden definir...

Acceder a esta publicación

Creado y Compartido por: Victor Hugo Mata Valencia

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

SAP Senior

CLASES LOCALES Y GLOBALES. Las clases se las puede declarar local y globalmente. TX SE24 en el abap WORKBENCH, éstas clase son almacenadas en el Class Pools. Las clases locales se definen en un programa abap y solo pueden ser invocadas desde el programa en el que se han definido. Cuando se usa un clase en un programa abap, el sistema primero busca una clase local por el nombre especificado y si no la encuentra busca una clase global. las clases globales deben estar preparadas para ser utilizadas en cualquier parte. DEFINICION DE CLASES LOCALES.- Son conjuntos de sentencias que se encuentran entre las sentencias CLASS .... ENDCLASS. Constará una clase: parte declarativa o definición, parte de implementación en...

Acceder a esta publicación

Creado y Compartido por: Karyna Alexandra Suarez Flores

 


 

👌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!