
Clases locales y globales
Las clases globales se definen en el generado de clases SE24
Las clases locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa en que se definió.
Cuando se usa una clase en un programa ABAP primero se busca la clase local y si no se encuentra se busca la clase global.
Las clases globales deben estar preparadas para usar en cualquier parte.
Definición de clases locales
Se define entre las sentencias class... endclass
Tiene que constar de una definición de la clase, en la que se definen componentes y parte de la implementación.
Si se declaran métodos en la parte declarativa de una clase, se debe incluir su parte de implementación.
Estructura y componentes de una clase
Se basa en:
è Una clase contiene componentes
è Cada componente se asigna a una sección de visibilidad
è Las clases implementan métodos.
Los componentes definen los atributos de los objetos de una clase. Cuando se define una clase cada componente es asignado a una de las tres secciones de visibilidad.
Todos los componentes de una clase son visibles dentro de la clase. Hay dos tipos de componentes en una clase, unos que son para cada objeto y otro que solo existen solo una vez para la clase entera sin tener en cuenta el número de instancias.
Atributos
Son los campos de datos internos de una clase y puede tener cualquier tipo de datos.
El estado de un objeto viene determinado por el contenido de sus atributos.
Dos tipos de atributos:
è Dependientes de instancia: Es especificado en cada objeto, se declara con la sentencia DATA
è Independiente de instancia o estáticos: Los atributos los define el estado de la clase y es válido para todas las instancias de la clase. CLASS-DATA
Métodos
Son procedimientos internos de una clase que definen el comportamiento de un objeto.
Pueden acceder a todos los atributos de una clase. Los métodos pueden recibir valores cuando son llamados y devolver valores después de la llamada.
Tres tipos de métodos:
è Dependientes de instancia: Se declaran con la sentencia METHODS, puede acceder a todos los atributos de una clase y pueden desencadenar todos los eventos de una clase.
è Independientes de instancia o estáticos: Sentencia CLASS-METHODS solo acceden a tributos estáticos y desencadenar eventos estáticos.
è Especiales: llamados CONSTRUCTOR y CLASS_CONSTRUCTOR que son llamados automáticamente cuando se crea un objeto o cuando se accede por primera vez a los componentes de la clase.
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.
Los eventos solo tienen parámetros de salida.
Dos tipos de eventos:
è Dependientes de instancia: EVENTS, solo puede ser desencadenado en un método dependiente de instancia
è Independientes de instancia o estáticos: CLASS-EVENTS, son el único tipo de eventos que pueden ser desencadenados por un método estático
Tipos y constantes
Se pueden definir tipos de datos dentro de la clase con TYPES, no son especificados en cada instancia y existen una sola vez para todos los objetos de la clase
Las constantes son un tipo especial de atributos estáticos, se fija el valor cuando son declaradas y no puede ser cambiado. CONSTANTS, Existen solo una vez para todos los objetos de la clase.
Visibilidad de una clase
Tres partes:
è Parte pública: son accesibles a todos los usuarios de la clase y para todos los métodos de la clase y de cualquier clase que herede de ella.
è Parte protegida: Son accesibles para todos los métodos de la clase y de las clases que heredan de ella.
è Parte privada: Son solo visibles en los métodos de la misma clase.