✒️ABAP / La definición de Clases, Atributos, Métodos y Eventos Por Felipe Roca Molina

Selector Alummnos / Empresas

CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores SAP | +info

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

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

Lección 2: Definición de clases, Atributos, métodos y eventos

Clases locales y globales: Las clases se pueden declarar globalmente o localmente. Las clases globales se definen en el generador de clases, a través de la transacción SE24. Estas clases son almacenadas en el Class Pools, en la librería de clases en el repositorio R/3. Todos los programas en un sistema R/3 pueden acceder a las clases globales. 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 una clase en ABAP el sistema busca primero una clase local con el nombre especificado. Si no encuentra ninguna, busca una clase global. Las clase local y global varian en la forma de ser creada. Si la clase sólo se va a usar en un único programa es suficiente con definir los componentes visibles del programa. Si la clase es global lo tiene que poder utilizar cualquier programa.

Clases locales: son el conjunto de sentencias que están entre las sentencias “CLASS-ENDCLASS”. Una definición completa de una clase constará de una parte declarativa, definición de la clase, en la que se definen los componentes, y una parte de implementación, lo que se conoce como implementación de la clase, en la que se implementan estos componentes. La parte declarativa o definición está comprendida entre las sentencias “CLASS <class> DEFINITION - ENDCLASS”. La parte declarativa contiene la declaración de todos los componentes de la clase (atributos, métodos y eventos). Cuando se definen clases locales, la parte declarativa pertenece a los datos globales del programa, por tanto se habrá de situar al principio del programa. Si se declaran métodos en la parte declarativa de una clase, se deberá escribir también su parte de implementación. Ésta es la que va incluida entre las sentencias “CLASS <class> IMPLEMENTATION - ENDCLASS”. La parte de implementación contiene la implementación de todos los métodos de la clase. Esta parte actúa como un bloque, cualquier sección de código que no forme parte del bloque, no será accesible.

Estructura de una clase: se define basándose en:

  • Una clase contiene componentes
  • Cada componente se asigna a una sección de visibilidad (publico, protegido o privado)
  • Las clases implementan métodos

Componentes de una clase: Los componentes de una clase representan sus contenidos. Todos los componentes son declarados en la parte declarativa de la clase. Los componentes definen los atributos de los objetos en una clase. Cuando se define una clase, cada componente es asignado a una de las tres distintas secciones de visibilidad que definen la interface externa de la clase. Todos los componentes de una clase son visibles dentro de la clase. Todos comparten el mismo espacio por lo que sus nombres deben ser únicos dentro de la clase. Hay dos tipos de componentes en una clase, aquellos que existen separadamente para cada objeto de una clase y aquellos que existen solo una vez para la clase entera, independientemente del número de instancias. Estos componentes son conocidos como dependientes de instancia o independientes de instancia, o estáticos. En los objetos ABAP, las clases pueden definir atributos, métodos y eventos.

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 atributo 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.

Tipos de atributos:

  • Dependientes de instancia: El contenido de los atributos es especifico de cada objeto. Se declaran usando la sentencia DATA.
  • Independientes de instancia o estáticos: El contenido de los atributos define el estado de la clase y es válido para todas las instancias de la clase. Solo existen 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.

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. Poseen una interface con parámetros que les permite recibir valores cuando son invocados y devolver valores después de la llamada. Los atributos privados de una clase solo pueden ser cambiados por los métodos de la misma clase. La definición y la interface de un método son similares 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 implementación usando las sentencias "METHOD <meth> ... ENDMETHOD". Se pueden declarar tipos de datos locales y objetos en los métodos de la misma manera que en cualquier procedimiento ABAP. Los métodos se llaman mediante la sentencia “CALL METHOD”.

Tipos de métodos:

  • Dependientes 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.
  • Independientes de instancia o estáticos: Se declaran usando la sentencia “CLASS-METHODS”. Solo pueden acceder a los atributos estáticos y desencadenar los eventos estáticos.
  • Especiales: se les llama mediante la sentencias CONSTRUCTOR y CLASS_CONSTRUCTOR. Son llamados automáticamente cuando se crea un objeto (CONSTRUCTOR) o cuando se accede por primera vez a los componentes de la clase (CLASS_CONSTRUCTOR).

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. Estos métodos se llaman métodos que manejan eventos (even handler methods). En una llamada normal a un método, el método puede ser llamado por cualquier número de usuarios. Cuando un método es desencadenado, cualquier número de estos métodos puede ser llamado. La unión entre el disparador del evento “trigger” y el manejador de eventos “handler” no es establecida de antemano, sino en el entorno 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 determina los eventos a los cuales tiene que reaccionar. No tiene por qué 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 el añadido “FOR EVENT OF”. Los eventos solo tienen parámetros de salida. Los parámetros son pasados por el disparador (RAISE EVENT), al método manejador de eventos, el cual los recibe como parámetros de entrada. El vínculo de unión entre el disparador y el manejador es establecido dinámicamente en el programa, con la sentencia “SET HANDLER”. El disparador y el manejador pueden ser objeto o clases, dependiendo si hay eventos dependientes de instancia o eventos estáticos y métodos manejadores de eventos. Cuando un evento es disparado, el correspondiente método manejador de eventos es ejecutado en todas las clases registradas para ese manejador.

Tipos de eventos:

  • Dependientes de instancia: Se declaran con la sentencia EVENTS. Solo pueden ser desencadenados en un método dependiente de instancia.
  • Independientes de instancia o estáticos: Se declaran con la sentencia CLASS-EVENTS. Todos los métodos pueden desencadenar eventos estáticos. Los eventos estáticos son el único tipo de eventos que puede ser desencadenado por un método estático.

Tipos y constantes: Se pueden definir tipos de datos dentro de una clase con la sentencia “TYPES”. Los tipos de datos no son específicos 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 se fija cuando son declaradas y no puede ser cambiado. Se declaran usando la sentencia “CONSTANTS”

NOTA: En la definición de tipos de datos, se puede utilizar la visión READ ONLY, después de escribir el tipo de la variable que se acaba de declarar. Significa que el atributo público que fue declarado con la sentencia DATA puede ser leído desde fuera de la clase, pero solo modificado por métodos de la misma clase. Solo se puede utilizar READ ONLY dentro de la declaración pública de una clase.

Visibilidad de una clase: La parte declarativa o definición de una clase se divide en tres áreas de distinta visibilidad. Estas áreas definen la visibilidad externa de los componentes de la clase, la interface entre la clase y el usuario. Cada componente de una clase ha de ser asignado a una de estas tres secciones:

  • PUBLIC SECTION (parte pública): Todos los componentes declarados en esta sección 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 forman la interface entre la clase y el usuario.
  • PROTECTED SECTION (parte protegida): Todos los componentes declarados son accesibles para todos los métodos de la clase y de las clases que heredan de ella. Los componentes protegidos forman la interface entre una clase y todas sus subclases.
  • PRIVATE SECTION (parte privada): Los componentes declarados en esta sección son solo visibles en los métodos de la misma clase. Los componentes privados no forman parte de la interface externa de la clase.

NOTA: los atributos públicos son los atributos a los que un usuario puede acceder externamente. Los componentes públicos de la clase se conocen como la inferface de la clase. A la sección de visibilidad privada también se la llama como la ocultación de la información o encapsulación, se utiliza para proteger al usuario de una clase ya que los componentes privados de una clase se modificarán pero su interface será siempre la misma. Los usuarios externos sólo pueden acceder a sus componentes a través de la interface de la clase, con lo que se continuará trabajando con la clase después de realizar el cambio. El usuario no se da cuenta del cambio porque sólo se modificó la implementación interna. Si los componentes públicos de una clase son modificados de manera incompatible, cada usuario externo tendrá que tener en cuenta estos cambios. Es aconsejable no modificar los componentes publicos de nuestra clases.


 

Escanear / Compartir

 

 

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 Felipe Roca Molina, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Master

Felipe Roca Molina

Profesión: Informático - España - Legajo: LD31G

✒️Autor de: 120 Publicaciones Académicas

🎓Egresado de los módulos:

✒️+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


La definición de Clases, Atributos, Métodos y Eventos Clases locales y globales Las clases pueden declararse globalmente (SE24, Class Pool) o localmente (dentro de un programa ABAP). Las clases globales son accesibles por todos los programas del sistema R3; las locales solo por el programa donde se definen. Al buscar una clase, el sistema prioriza la local y, si no la encuentra, busca la global. No hay diferencia funcional entre usar una clase local o global, solo en visibilidad y alcance. Las clases locales son adecuadas para uso único en un programa; las globales están diseñadas para reutilización en múltiples programas....

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

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

SAP Master

Introducción: Las clases en ABAP son el fundamento de la programación orientada a objetos en SAP, permitiendo crear código más organizado, reutilizable y mantenible. Existen clases globales (accesibles en todo el sistema) y locales (específicas de un programa). Tipos de Clases en ABAP Clases Globales (SE24) Definición: Se crean en el Generador de Clases (SE24) Almacenamiento: Se guardan en Class Pools en el repositorio Accesibilidad: Disponibles para todos los programas del sistema Uso ideal: Para funcionalidades reutilizables en múltiples programas Clases Locales Definición: Se declaran dentro de un programa ABAP entre...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

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

SAP Expert



La definición de Clases, Atributos, Métodos y Eventos En SAP, una clase es una plantilla que define un objeto con sus características y comportamientos. Las clases contienen atributos, que son variables que almacenan datos o propiedades del objeto, como su estado o características. Los métodos son funciones o procedimientos que describen las acciones o comportamientos que un objeto puede realizar, manipulando sus atributos o interactuando con otros objetos. Los eventos permiten que una clase notifique a otros objetos cuando ocurre algo relevante, facilitando la comunicación y sincronización entre objetos. En resumen, las clases encapsulan atributos, métodos y eventos para modelar objetos...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

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

Lección: Definición de Clases, Atributos, Métodos y Eventos Clases locales y globales â—¦ Descripción: Las clases en ABAP pueden ser declaradas globalmente o localmente, lo que impacta su accesibilidad y administración en el sistema. â—¦ Clases globales: Se definen y gestionan mediante la transacción SE24 en el ABAP Workbench y son accesibles desde cualquier programa ABAP. Se almacenan en los Class Pools en la librería de clases en el Repositorio R/3. â—¦ Clases locales: Se definen dentro de un programa ABAP específico, entre las sentencias CLASS...ENDCLASS, y solo pueden ser invocadas desde ese mismo programa. Cuando se usa una clase en ABAP, el sistema busca primero...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

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

SAP SemiSenior

En ABAP, las clases globales y locales se refieren a la visibilidad y alcance de las clases: Clases Globales : Son accesibles desde cualquier programa o módulo dentro del sistema SAP. Clases locales : Son definidas dentro de un programa específico y solo son visibles para ese programa. Se utilizan para funcionalidades particulares de un programa. La transacción SE24 en SAP es conocida como Class Builder o Generador de Clases . Con la SE24 , puedes: Es una herramienta clave para el desarrollo de programación orientada a objetos . Crear y definir clases globales. Establecer atributos, métodos y eventos . Gestionar interfaces...

Acceder a esta publicación

Creado y Compartido por: Exequiel Eduardo Acevedo / Disponibilidad Laboral: FullTime

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

SAP Senior

Las clases locales y globales Las clases en ABAP se puede declarar globalmente o localmente. Las clases globales se definen en el generador de clases, a través de la transacción SE24 en el ABAP Workbench. 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. Las definiciones de clases locales: Las clases locales son un conjunto de sentencias que están entre las sentencias CLASS...ENDCLASS. Las partes declarativa contiene la declaración de todos los componentes de la clase ( atributos, métodos y eventos). Cuando se definen clases locales, la parte declarativa pertenece a los datos globales del...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

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

SAP Expert


Cuando definimos tipos de datos dentro la definición de una clase podemos utilizar la visión read only luego de escribir el tipo de la variable que acabamos de declarar esto significara 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 vale la pena aclarar que solo se podrá utilizar la visión read only dentro de la parte publica de la declaración de una clase. Los atributos de una clase a lo que un usuario externo puede acceder directamente son los atributos públicos, los componentes públicos de una clase comúnmente se conocen como la interfaz...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

LAS CLASES LOCALES Y GLOBALES. Las clases en ABAP se pueden declarar globalmente o localmente. Las clases globales se definen en el generador de clases, a través de la transacción SE24 en el ABAP Workbench. Cuando se una 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. A parte de la cuestión de la visibilidad, no hay ninguna diferencia usar una clase global o una clase local. Lo que si cambia sensiblemente es la manera en la que una clase local y una clase global son creadas. Si se define una clase que se va a usar en un único programa, normalmente es suficiente con definir los componentes visibles de manera...

Acceder a esta publicación

Creado y Compartido por: Gerardo Jose Campos Tovar / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Defining Classes, Attributes, Methods, and Events Local and Global Classes In ABAP, classes can be declared either globally or locally. Global classes are defined in the class builder, via transaction SE24 in the ABAP Workbench. These classes are stored in Class Pools within the class library in the R/3 repository. All ABAP programs in an R/3 system can access global classes. Local classes, on the other hand, are defined within an ABAP program and can only be invoked from the program in which they are defined. When using a class in an ABAP program, the system first searches for a local class with the specified name. If none is found, it looks for a global class. Besides visibility, there is no difference between using a global or local class....

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


La definición de Clases, Atributos, Métodos y Eventos 1 - Las clase locales y globales. Las clase globales se definen SE24 en el abap workbench. Se almacenan en el Class Pools Las clase locales se definen en un programa abap y solo pueden ser invocadas desde el programa en el que se han definido. Cuando se usa una clase en ABAP , el sistema primero busca una clase local con el nombre especifico, si no encuentra busca una clase global. 2 - Definicion de clases Locales. sentencias CLASS .. ENDCLASS. Consta de una parte declarativa (definicion de clase de los componentes), y una parte de implementacion clase (implementan los componentes) - Definicion de clase CLASS counter DEFINITION. PUBLIC SECTION....

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.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!