🚀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

Unidad 5: Programación orientada a objetos.

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

1.- Clases locales y globales.

Las clases en ABAP pueden ser globales o locales.Por clases globales, entendemos las que se definen en el generador de clases, transacción SE24. Estas clases se almacenan en el Class Pools en la librería de clases del repositorio R/3. Cualquier programa ABAP puede acceder a una clase global.

Las clases locales por el contrario se definen en un programa ABAP y solo se pueden invocar desde el programa en que han sido definidas. Excepto por la visibilidad restringida de las clases locales no hay mayor diferencia respecto de las globales. Esto diferencia provoca que si la clase esta destinada a un uso local es suficiente con definir los componentes visibles que se ajusten a nuestro programa. Por contra la definición de clases globales debe realizarse teniendo en cuenta que pueden ser utilizadas en todas partes.

2.- Definición de clases locales.

La definición de una clase local esta limitada por las sentencias CLASS ...ENDCLASS. La definición de una clase, consta de una parte declarativa en la que se definen los componentes y una parte de implementación donde se implementan los componentes.

La parte declarativa o definición de clase esta limitada por las sentencias CLASS <nombre clase> DEFINITION ...ENDCLASS. En esta parte se definen todos los componentes de la clase (atributos, métodos y eventos). La parte declarativa se deberá situar al principio del programa.

Si en la parte declarativa se declaran métodos deberemos implementar la clase. La implementación de una clase declarada se encuentra entre CLASS <nombre de clase> IMPLEMENTATION ...ENDCLASS.

La parte de implementación contendrá la implementación de los métodos declarados de la clase. Cualquier sección de código que no pertenezca a la implementación de la clase es inaccesible.

3.- Estructura y componentes de una clase.

La estructura de una clase se define en base a tres principios:

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

Los componentes de una clase representan sus contenidos y han de estar declarados convenientemente antes de la implementación. En la parte declarativa cada componente es asignado a una de las secciones de visibilidad y sus nombres deben ser únicos dentro de la clase.

Entre los componentes de una clase existen dos tipos diferenciados:

  • Los que existen separadamente para cada objeto de una clase. Son componentes dependientes de instancia
  • Los que existen una sola vez a nivel de clase independiente del número de instancias de la misma. Son componentes independientes de instancia o estáticos.

En objetos ABAP, las clases pueden definir los siguientes componentes:

  • Atributos.
  • Métodos.
  • Eventos.

4.- Atributos.

Son los datos internos de una clase y pueden ser de cualquier tipo de datos contemplado en ABAP. Determinamos el estado de un objeto por el contenido de sus atributos. Si los atributos son variables referenciadas estas variables permiten crear y acceder a otros objetos desde dentro de la clase.

Hay dos tipos de atributos:

  • Dependientes de instancia: El contenido de los atributos es específico de cada objeto y son declarados por la sentencia data.
  • Independientes de instancia o estáticos. El contenido de estos atributos define el estado de la clase y es válido en todas las instancias de la misma. Se definen mediante la sentencia CLASS-DATA y son accesibles por cualquier objeto 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 pudiendo cambiar el contenido de los atributos de un objeto. A su vez pueden recibir valores al ser invocados a través de los parámetros que forman su interfaz y devolver valores después de la llamada. Los atributos privados de una clase, solo son modificables mediante métodos de la propia clase.

La definición e interfaz de un método son similares a los de los módulos de función. Los métodos se implementan entra las sentencias METHOD ... ENDMETHOD. Es posible declarar en un método tipos de datos y objetos locales. La llamada al método se efectúa mediante la sentencia CALL METHOD.

Podemos distinguir tres tipos de métodos:

  • Dependientes de instancia. Pueden acceder a todos los atributos de una clase y desencadenar todos los eventos de la misma. Se declaran mediante la sentencia METHODS.
  • Independientes de instancia o estáticos. Solo pueden acceder a los atributos estáticos y desencadenar los eventos estáticos de una clase. Se declaran mediante la sentencia CLASS-METHODS.
  • Especiales. A diferencia del resto de métodos normales que se llaman mediante CALL METHOD. Tenemos dos métodos especiales llamados CONTRUCTOR y CLASS-CONSTRUCTOR que son llamados automáticamente cuando se crea un objeto o se accede por primera vez a los componentes de la clase respectivamente.

6.- Eventos.

Son acontecimientos o sucesos que utilizan los objetos y las clases para desencadenar la ejecución de un método de otro objeto o clase. Estos métodos desencadenados por eventos reciben el nombre manejadores de eventos (Event Handler Methods). Un método normal puede ser llamado por cualquier número de usuarios, en el caso de métodos desencadenados por eventos un evento puede activar la ejecución de múltiples event handler methods.

La relación entre disparador del evento o trigger y el manejador del evento handler se establece en tiempo de ejecución.

En el caso de métodos normales el programa fija que métodos se llamaran en el caso de los métodos desencadenados por eventos estos saben a que eventos deben reaccionar y como deben hacerlo. La llamada a un metodo normal exige que este exista en el caso de los desencadenados por eventos no supone tener un manejador para cada uno de ellos. Podemos desencadenar cualquier evento de una clase mediante la sentencia RAISE EVENT <nombre de evento> desde los métodos de la misma.

Un método de la misma o diferente clase del evento se declara manejador añadiendo a su declaración la cláusula FOR EVENT OF.

Los eventos gozan de una interfaz parecida a los métodos pero solo tienen parámetros de salida. La sentencia RAISE EVENT es la encargada de pasar los parámetros al manejador que los recibirá como parámetros de entrada.

La unión entre disparador (trigger) y manejador (handler) se establece mediante la sentencia SET HANDLER dinámicamente. Disparador y manejador pueden ser tanto objetos como clases, en función de si se trata de eventos dependientes de instancia o estáticos respectivamente.

Cuando se dispara un evento su método manejador sera ejecutado en todas las clases en que este registrado.

Como ya hemos introducido anteriormente los eventos pueden clasificarse como de dos tipos:

  • Dependientes de instancia: Se declaran con la sentencia EVENTS y solo pueden ser lanzados desde un método dependiente de instancia.
  • Independiente de instancia o estático: Se declaran con la sentencia CLASS-EVENTS. Todos los métodos pueden disparar eventos estáticos pero un método estático solo puede disparar eventos estáticos.

7.- Tipos y constantes.

Es posible definir tipos de datos ABAP dentro de una clase con TYPES siendo estos no especificos de cada instancia por lo cual existen una sola vez para todos los objetos de la clase. Cuando se definen tipos dentro de una clase podemos utilizar la cláusula READ ONLY y luego definir el tipo de la variable declarada. Esto significará que el atributo público declarado con la sentencia data del tipo en cuestión, podrá ser leído desde fuera de la clase, pero modificado solo por les métodos propios de la clase. La cláusula READ ONLY solo puede aparecer en la parte pública de la clase.

Las constantes se consideran un tipo especial de atributo estático, cuyo valor se fija en la declaración sin ser susceptible de modificación. Las constantes existen solo una vez para todos los objetos de la clase.

8.- Visibilidad de una clase.

En la parte declarativa de una clase tenemos tres áreas de distinta visibilidad que definen la visibilidad externa de los componentes de la misma. Todos los componentes de una clase deben asignarse a una de las tres áreas:

  • Public Section: Todos los componentes declarados aquí, son accesibles por todos los usuarios de la misma así como todos los métodos de la clase y clases heredadas de ella. El área publica con sus componentes son el interfaz clase usuario. Debe limitarse en lo posible la asignación de componentes innecesarios a está área o andarse con mucho ojo respecto a la modificación de los mismos.
  • Protected Section. Los componentes de esta sección conforman la interfaz entre clase y subclases. Son accesibles desde cualquier método de la clase o clases heredadas.
  • Private Section: Los componentes de esta área no forman la interfaz externa de la clase y solo son visibles por los métodos de la clase. Es decir los componentes están encapsulados.


 

 

 


Sobre el autor

Publicación académica de Francisco Compte Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Francisco Compte Sanchez

Profesión: Sap Business&integration Architect - España - Legajo: QQ38S

✒️Autor de: 105 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Consultor sap mm y sd con algún conocimiento abap a nivel de debug. quiero consolidar conocimientos técnicos para reforzar mi perfil profesional.

Certificación Académica de Francisco Compte

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


Definición de clases, atributos, métodos y eventos Clases locales y objetos Las clases locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa en el que se han definido, en cambio las clases gloabales pueden ser invocadas desde cuqluier proigrama ABAP. Las clases globales se definen en la tx SE24. Definición de clases locales Son un conjunto de sentencias que están dentro de las sentencias CLASS... ENDCLASS. Estructura y componentes de una clase: Una clase contiene componentes Cada componente se asigna a una sección de visibilidad (público, protegido o privado). Las clases implementan métodos. En los objetos ABAP, las clases pueden definir los siguientes...

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

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

SAP Master

Clases locales y globales. Las clases en ABAP pueden ser locales o globales. Las globales se definen en el generador de clases a través de la transacción SE24. Las clases locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa en el que se han definido. - Las clases locales son el conjunto de sentencias que están entre las sentencias CLASS.. ENDCLASS. - Una clase consta de una parte declarativa lo que se conoce como definición de la clase y una parte de implementación de la clase. - La estructura de una clase se define en base a: Una clase tiene componentes. Cada componente se asigna una sección de visibilidad (Público, protegido o privado). Las clases...

Acceder a esta publicación

Creado y Compartido por: Erick Omar Mármol Ascencio / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

Definición clases, atributos, métodos y eventos. Las clases en ABAP se pueden declarar globalmente o localmente, las clases globales se definen en el generador de clases, mediante la transacción SE24 (SE24 se encarga de administrar las clases e interfaces en el sistema SAP). Estas clases son almacenadas en el class pool en la librería de clase del repositorioR/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 solo se puede acceder desde el programa en el que ha sido definida. Cuando se usa una clase en un programa ABAP el sistema busca primero una clase local con el nombre especificad, si no la encuentra entonces busca una clase...

Acceder a esta publicación

Creado y Compartido por: Jesus Enrique Ramos Bello / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

Definición de Clases, Atributos, Métodos y Eventos. 1. Clases Locales y globales. Se hacen por la Tx SE24, estas clases son almacenadas en la librerias de clases Class Pool Definición Clases Locales. Classs End class, se definen los componentes y luego su implementación. La parte de implementación contiene la implementación de todos los métodos de la clase. 3. Estructura y componentes de una clase La estructura de una clase se define basándose en: Una clase contiene componentes ; son sus contenidos y se declaran en la parte declarativa de la clase. Los componentes definen los atributos. Existen dos tipos de componentes: Estáticos que son independientes solo una vez para...

Acceder a esta publicación

Creado y Compartido por: Morela Silva

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

SAP Master

CLASE Pueden declararse de forma global desde SE24 o local en el programa abap. Este buscará primero la definición local, si no la encuentra buscará global. Estan divididas en la parte declarativa y de implementación de sus métodos. En la definición tendremos los atributos, métodos y eventos, dependientes de instancia o estáticos, en alguna de las secciones publica, protegida o privada. ATRIBUTOS Son los campos de datos internos de la clase que pueden ser de cualquier tipo abap y se declaran con DATA o CLASS-DATA (estáticos) MÉTODOS Son procedimientos internos de la clase, poseen parámetros de I/O, se declaran con METHODS o CLASS-METHODS (estáticos), se implementan...

Acceder a esta publicación

Creado y Compartido por: Jonatan Richioni

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

SAP Expert


Definición de clases, atributos, metodos y eventos 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 traves de la transacción SE24. Estas clases son almacenadas en el class pools en la libreria de clases en el repositorio R/3. Clases locales: Una clase constará de una parte declarativa, lo que se conoce como 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 contiene la declaración de todos los componentes de la clase (atributos, metodos y eventos)....

Acceder a esta publicación

Creado y Compartido por: Marvin Raul Lopez Morales / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


DEFINICION DE CLASES, ATRIBUTOS, METODOS Y EVENTOS CLASES LOCALES Y GLOBALES LAS CLASES SE SE PUEDEN DECLARAR COMO LOCALES O GLOBALES. LAS CLASES GLOBALES SE DEFINEN EN LA TRANSACCIÓN SE24 ( ADMINISTRADOS DE CLASES E INTERFASES) CLASES GLOBALES - ESTAS CLASES SON ALMACENADAS EN EL CLASS POOLS, Y TODOS LOS PROGRAMAS PUEDEN ACCESARLAS. CLASES LOCALES - SE DEFINEN EN UN PROGRAMA ABAP Y SOLO PUEDEN SER INVOCADAS DESDE EL PROGRAMA EN EL QUE SE HA DEFINIDO. ----------------------------------------------------------------------------------------------------------------------- DEFINICIÓN DE CLASES LOCALES SON LAS SENTENCIAS QUE SE ENCUENTRAN ENTRE CLASS....ENDCLASS. LA DEFINICIÓN CONSTA DE: PARTE DECLARATIVA : DEFINICIÓN...

Acceder a esta publicación

Creado y Compartido por: Oscar Guillermo Rodriguez Villate / Disponibilidad Laboral: FullTime

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

SAP Master

Clases locales y globales: Pueden declarar globalmente o localmente. Las clases globales se definen en el generador de clases, a traves de la transaccion SE24 en ABAP Workbench. Transaccion SE24: Administrar las clases e interfases definidas en el sistema SAP. 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: Conjunto de sentencias que estan entre CLASS y ENDCLASS. Consta de una parte declarativa, lo que se conoce como definicion de la clase, en la que se definen los componentes, y una parte de implementacion, lo que se conoce como implementacion de la clase, en la que se implementan estos componentes. Estructura de una clase se define basandose...

Acceder a esta publicación

Creado y Compartido por: Roberto Serrano

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

SAP Senior

Clases Locales y Globales.- Las clases ABAP se pueden declarar global o localmente. Las clases globales se definen en el generador de clase, a través de la transacción SE24 en el ABAP Workbench. Estas clases son almacenadas en el Class Pools en la librería del 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. Definición de Clases Locales.- Las 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, lo que se conoce...

Acceder a esta publicación

Creado y Compartido por: Yair Miguel Ramirez Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

1. CLASES LOCALES Y GLOBALES En ABAP, las clases se pueden declarar global o localmente. Las clases globales se definen a través de la tr. SE24 (Generador de clases). Estas clases se almacenan en el Class Pools. Todos los progr. ABAP del sist. R/3 pueden acceder a las clases globales Las clases locales se definen en 1 progr. ABAP y sólo pueden ser invocadas desde él. Cuando se usa una clase en 1 progr. ABAP, primero busca una clase local con ese nombre. Si no lo encuentra, entonces busca una clase global. Diferencia clase global-clase local: Sólo su visibilidad 2. DEFINICIÓN DE CLASES LOCALES Las clases locales se definen entre las sentencias CLASS ... ENDCLASS. Una definición completa de una clase...

Acceder a esta publicación

Creado y Compartido por: David Campillo Martinez

 


 

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