
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 define basándose en que 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. Definen los atributos de un objeto en una clase.
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. Se declaran usando la sentencia CLASS-DATA.
Métodos:
La definición y la interface de un método son similares a las de los módulos de función. Se define en la parte declarativa de la clase y se implementa en la parte de implementación utilizando las sentencias METHOD--- ENDMETHOD
Dependientes de instancia: se declaran utilizando la sentencia METHODS. Accede a todos los atributos de una clase y desencadenar todos los eventos de una clase
Indepentendientes de instancia: se declaran usando la sentencia CLASS-METHODS. Puede acceder a los atributos estáticos y desencadenar eventos estáticos.
Especiales: CALL-METHOD método normal, CONSTRUCTOR cuando se crea un objeto Y CLASS-CONSTRUCTOR cuando se accede por primera vez a los componentes de la clase.
Eventos:
los eventos tienen una interface de parámetros similar a la de los métodos, pero solo tienen parámetros de salida.
Dependientes de instancia: se declaran usando la sentencia EVENTS. Solo pueden ser desencadenados en un método dependiendo de instancia.
Independientes de instancia o estáticos: se declaran usando la sentencia CLASS-EVENTS. Todos los métodos pueden desencadenar eventos estáticos.
Tipos y constantes.
Tipos de datos ABAP se definen en la clase con la sentencia TYPES.
Las constantes son de tipo especial de atributos estáticos y se declaran usando la sentencia CONSTANTS.
Visibilidad de una clase.
PUBLIC SECTION (Parte pública)
PROTECTED SECTION (Parte protegida)
PRIVATE SECTION (Parte privada)