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