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

 X 

✒️ABAP POO Las Clases

ABAP POO Las Clases

ABAP POO Las Clases

Unidad-1-Lección-5: Clases 1) Clases locales y globales

Las clases en ABAP se pueden declarar global o localmente. Las clases globales se definen en el generador de clases a través de la transacción SE24 (Generador de Clases) 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.

Nota: Las clases locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa.

Cuando se 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.

Aparte del contexto de visibilidad, no hay ninguna diferencia entre usar una clase global o una clase local. Lo que sí cambia es la manera en la cual las clases locales y globales 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 que la clase se ajuste a nuestro programa. Por otro lado, las clases globales deben estar preparadas para ser usadas en cualquier parte.

2) Definición de Clases Locales

Las clases locales son el consunto se sentencias que están entre las sentencias CLASS…ENDCLASS.

Una definición de clase completa consta de:

  • · Una parte declarativa: la cual se conoce como definición de clase y en la cual se definen los componentes.
  • · Una parte de implementación: la cual se conoce como implementación de la clase, y en la cual se implementan estos componentes.

La parte declarativa está comprendida entre las sentencias:

CLASS <nombre> DEFINITION.

….

ENDCLASS.

Veamos el siguiente ejemplo:

CLASS VEHICULO DEFINITION.

PUBLIC SECTION.

DATA: velocidad type string,

anio_fabricacion type string.

METHODS: asignar_anio_fabricacion IMPORTING a_anio_fabricacion TYPE STRING,

disminuir_velocidad IMPORTING a_velocidad TYPE STRING.

ENDCLASS.

Esta 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, la cual está comprendida entre las sentencias:

CLASS <nombre> IMPLEMENTATION.

….

ENDCLASS.

Ejemplo:

CLASS VEHICULO IMPLEMENTATION.

METHOD asignar_anio_fabricacion.

anio_fabricacion = a_anio_fabricacion.

ENDMETHOD.

METHOD disminuir_velocidad.

velocidad = velocidad - a_velocidad.

ENDMETHOD.

ENDCLASS.

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

3) Visibilidad de una Clase

La parte declarativa o definición de una clase se divide en tres á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, es decir, la interface entre la clase y el usuario.

Cada componente de una clase ha de ser asignado a una de estas tres secciones:

  • · PUBLIC SECTTION (Parte Pública): Todos los componentes declarados en esta sección son accesibles para todos los usuarios y métodos de la clase y de cualquier clase heredada de ella. Los componentes públicos conforman la interface entre clase y usuario.
  • · PROTECTED SECTTION (Parte Protegida): Todos los componentes declarados en esta sección son accesibles para todos los métodos de la clase y de las clases heredadas de ella. Estos componentes protegidos conforman la interface entre la clase y todas sus subclases.
  • · PIVATE SECTTION (Parte Privada): Los componentes declarados en esta sección son sólo visibles en los métodos de la misma clase. Los elementos privados no forman parte de la interface externa de la clase.

AUDIO TIP 1:

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 se conocen como la interfaz de la clase. A la sección de visibilidad Privada también se le conoce comúnmente como la “ocultación” de la información o encapsulación. 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 interfaz será siempre la misma. Todos los usuarios externos solo pueden acceder a sus componentes a través de la interfaz 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 solo la implementación interna fue modificada. Por otra parte, si los componentes públicos de una clase son modificados de manera incompatible, cada usuario externo tendría que tomar en cuenta estos cambios. Por lo tanto, debemos utilizar los atributos públicos de una clase con mucha moderación, o bien evitar modificar los componentes públicos de nuestras clases.

4) Estructura y Componentes de una Clase

La estructura de una clase se define principalmente 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

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 de 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. Además, todos comparten el mismo espacio, 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 sólo 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) respectivamente.

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

  • · Atributos
  • · Métodos
  • · Eventos


 

 

 

Agradecimiento:

Ha agradecido este aporte: Juan Carro

Favorito:

Está publicación ha sido agregada a sus favoritos por: Juan Carro


Sobre el autor

Publicación académica de Oscar Perez, en su ámbito de estudios para el Máster ABAP POO.

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 "Las Clases" de la mano de nuestros alumnos.

SAP SemiSenior

LAS CLASES EN ABAP. En ABAP existen 2 tipos de clases: Clases Locales y Cases Globales CLASES GLOBALES: Las Clases Globales se crean y definen por medio de la Transacción SE24 del ABAP Workbench y son almacenadas en el pool de clases. Las Clases Globales pueden ser usadas por cualquier programa del sistema. CLASE LOCALES: Las Clase locales se declaran en el programa por medio de las sentencias CLASS <class> DEFINITION y ENDCLASS. Las Clase Locales son implementadas utilizando las sentencias CLASS <class> IMMPLEMENTATION y ENDCLASS . Las Clases Locales únicamente pueden ser usadas en el programa que las define. En la parte declarativa de la clase es donde se definen todos los componentes de la clase: atributos, métodos...

Acceder a esta publicación

Creado y Compartido por: Enrique Horacio Lugo Lander

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

SAP Expert


Las Clases. Las Clases en ABAP se pueden declarar globalmente o localmente. Transacion SE24: Generador de clases. Administracion de las clases e interfases definidas en el sistema SAP. Clases Locales: Es un conjunto de sentencias que estan entre las sentencias CLASS..ENDCLASS. La parte declarativa contiene la declaracion de todos los componentes de la clase (atributos, metodos y eventos) y se situara al principio del programa. La visibilidad se divede en tres areas: Public Section: Interface entre la clase y el usuario. Protected Section: lInterface entre la clase y todas las subclases Private Section: No forman parte de la interface externa de la clase.

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


-Las clases implementan metodos -Las clases definen Atributos, Metodos y Eventos. Clases globales: SE24 (generador de clases). Accesibles desde cualquier programa ABP. Almacenadas en el "Class Pool". Clases locales: solo visibles e invocadas desde el programa donde se creen. Se declaran: Class....endclass. Tienen 2 partes: 1. Declarativa: declara datos de componentes; consta de 3 partes: (-Public Section: accesible desde cualquier usuario, metodo o clase que herrede; Inteface Clase-Usuario. Protected Section: accesible desde cualquier metodo o clase que herede; Interface: Clase-Sub.clase. Private Section: accesible metodos de la misma clase.) 2. Parte de implementacion: implementacion de los metodos definidos

Acceder a esta publicación

Creado y Compartido por: Richard Zomacal

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

SAP Expert


Las clases en ABAP pueden globales (se definen en el generador de clases en la transacción SE24 y se almacenan en el Class Pools en la librería de clases del repositorio R/3 y es accesible por todas las clases). La clase local son específicas del programa y es lo primero que el programa busca (las globales deben poder usarse en cualquier programa). Se definen entre las sentencias CLASS ... ENDCLASS que se caracteriza por una definición y una implementación. Se tiene una parte declarativa (DEFINTION - declara los atributos, métodos y eventos) y de implementación (IMPLEMENTATION - actua como un bloque). Las secciones disponibles son: PUBLIC SECTION (visibles para todos los usuarios de la clase y...

Acceder a esta publicación

Creado y Compartido por: Daniel Alejandro Monteros Segura

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

SAP Expert


CLASES (locales y globales) Las clases globales se definen en el GENERADOR DE CLASES - transacción SE24. Las clases se almacenan en el CLASS POOLS CLASES LOCALES-> CLASS .... ENDCLASS. Parte declarativa (definición de los componentes de la clase, atributos, métodos y eventos). -> CLASS <class> DEFINITION. ........... ENDCLASS. La parte declarativa en clases locales, pertenece a los datos globales, por ,o que se define al pricipio del programa. Parte de implementación (implementación de los componentes) ...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio De Tejada Santiago / Disponibilidad Laboral: FullTime

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

SAP Expert


Clase Locales y Globales Componentes Públicos se les conoce como interface de las clases y son accesibles por todos los usuarios externos. Un cambio en él es de realizarlo con mucho cuidado ya que afectan a todos los usuarios que los usan. Las clase Globales se crean con la SE24 y las clases Locales se crean a nivel de programas. A nivel de una clase cada componente debe ser nombrado de forma única mientras que entre clases pueden ser nombrados iguales ya que cada uno se comporta de manera particular en la clase a la cual pertenece (Polimorfismo).

Acceder a esta publicación

Creado y Compartido por: Luis Alfredo Lombardi Pizarro

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

SAP Expert


Clases Clases locales y globales Las clases en ABAP se pueden declarar, globalmente o localemente. Las clases globlaes 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 en el repositorio R/3. Todos los programas ABAP en un sistema SAP pueden acceder a las clases globales. 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, o 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...

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 ***

SE24 Declarar clases Globales. Las clases en abap se pueden declarar globalmente o localmente. Las clases locales se definen en un programa abap y solo pueden ser invocadas desde el programa en el que se han definido. cuando un programa usa una clase la busca en el programa local si no la encuentra la busca en las clases globales. la unica diferencia entre una clase local y global es su visibilidad y tambien el la manera que son creadas cada una. Las clases locales se definen con la sentencia CLASS Codigo..... ENDCLASS. Una definicion completa de una clase esta compuesta por una parte de definicion de la clase, en la que se definen los componente y una parte de implementacion en la cual se implementas los componentes. ejemplo: CLASS <class>...

Acceder a esta publicación

Creado y Compartido por: Juan Jose Pujol Diaz

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

SAP Training

Clases globales: se definen con la transacción SE24 en el workbench. Las clases locales se definen en un programa ABAP y solo se pueden invocar desde el programa del que se definió. No hay diferencia entre usar una clase global o una clase local a nivel visibilidad, sin embargo cambia es la forma de crearse. Las clases globales deben estar preparadas para se usadas den cualquier parte. Definición de clases locales: Consta de una parte declarativa: donde se definen los componentes, y una parte de implementación, en la que se implementan estos componentes. Sintaxis: Class <nombre de la clase> definition. Public section. Data: <nombre atributo> type <Tipo del atributo>,...

Acceder a esta publicación

Creado y Compartido por: Ivana Montanar

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

SAP Senior

Las clases pueden ser globales o locales. Clases globales se definen en SE24 y se pueden accesar desde cualquier programa. Las locales se definen dentro de programas abap (se38, se37 etc) y se pueden accesar solo desde el mismo programa, si el sistema no es capaz de encontrar la clase en el mismo programa entonces la busca globalmente. Clases Locales: Parte declarativa (CLASS DEFINITION - ENDCLASS) y parte de Implementacion. Parte Declarativa:CLASS DEFINITION - PUBLIC SECTION - PROTECTED SECTION - PRIVATE SESSION - ENDCLASS. Parte de Implementacion:Implementacion de Metodos y Eventos. PUBLIC SECTION: Componentes visibles por usuarios, metodos de la clase y subclases. PROTECTED SECTION: Componentes visibles por metodos de la clase y subclases....

Acceder a esta publicación

Creado y Compartido por: Regulo Argotte

 


 

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