✒️ABAP POO / Los Atributos, los Métodos y los Eventos Por Jeferson Pena Curvelo
ABAP Los Atributos, los Métodos y los Eventos

Atributos: Contienen lso datos que pueden ser almacenados en los objetos de una clase. Pueden tener cualquier tipo de datos ABAP. tambien conocidos como propiedades.
El estado de un objeto viene determinado por el contenido de sus atributos.
Un tipo de atributo son las variables referenciadas. Estas variables permiten crear y acceder a los objetos, de manera que si se definen en una clase permiten acceder a otros objetos desde dentro de la clase.
Existen dos tipos de 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 Estativos: donde el contenido de los atributos define el estado de la clase y es valido para todas las instancias de la clase.
Los atributos estativos existen solo una vez para la clase. Se declaran usando la sentencia CLASS-DATA. Son accesibles desde todo el entorno de ejecucion de la clase.
Todos los objetos de una clase pueden acceder a sus atributos estativos. Si se cambia un atributo estatico en un objeto, el cambio es visible en todos los demas objetos de la clase.
Los Atributos que se definan en una clase pueden ser de 3 tipos. Elementales es decir atributos simples tales como variables, Estructuras y tipos TABLA.
Los Metodos: Son procedimientos internos de una clase que definen el comportamiento de un objeto.
Los metodos poseen tambien poseen una interface con parametos que le permite revibir valores cuando son invocados y devolver valores despues de la llamada.
Los atributos privados de una clase solo pueden ser cambiados por metodos de la misma clase. La definicion y la interface de un metodo son similares a las de los modulos de funciones. Un metodo se define en la parte declarativa de la clase y se implementa en la parte de implementacion usando las sentencias:
CLASS classname DEFINITION.
...
METHODS method_name
...(los metodos pueden tener firma)
ENDCLASS
----
CLASS classname IMPLEMTATION.
METHOD method_name.
...(La Implementacion del metodo determina el comportamiento del objeto)
ENDMETHOD.
ENDCLASS
Existen 2 tipos de metodos:
-Dependientes de Instancia: estos metodos se declaran usando la sentencia METHODS. Pueden acceder a todos loa atributos de una clase y pueden desencadenar todos los eventos de una clase.
-Independientes de Instancia o Estaticos: estos metodos se declaran usando la sentencia CLASS-METHODS. Solo pueden acceder a los atributos estaticos y desencadenar eventos estaticos.
Los metodos de una clase, pueden acceder a todos los atributos de su clase y modificar el estado de otros elementos, pueden tener un numero ilimitado de parametros Importing, Exporting y Changing. Todos los parametros dentro de un metodo, pueden ser pasados por valor o por referencia. Todos los parametros de entrada de un metodo es decir aquellos que definimos dentro de Importing o Changing pueden ser definidos como opcionales o por defecto usando las adiciones optional o default. Estos parametros no tienen que ser necesariamente transferidos cuando se llama al objeto. Si utilizamos la adicion optional el parametro se mantendra inicializado de acuerdo a su tipo mientras que con la adicion default nos permitira introducir un valor inicial. Como en los modulos de funciones los metodos tambien soportan el retorno del valor del sy-subrc pero para ello debemos haber definido las excepciones del metodo utilizando la plabra reservada Exceptions.
Los Eventos: Son acontecimientos o sucesos que utilizan los objetos o las clases para desencadenar la ejecucion de un metodo en otro objeto o clase.
Estos metodos se llaman metodos que manejan eventos (event handler methods).
En un allamada normal a un metodo, el metodo puede ser llamado por cualquier numero de usuarios. Cuando un envento es desencadenado, cualquier numero de estos metodos puede ser llamado.
Existen dos tipos de eventos:
-Dependientes de instancia: se declaran con la sentencia EVENTS. Solo pueden ser desencadenados en un metodo dependeiente de Instancia.
- Independientes de instancia o estativos: se declaran con la sentencia CLASS-EVENTS. Todos los metodos pueden desencadenar eventos estativos. Los eventos estaticos son el unico tipo de eventos que puede ser desencadenado por un metodo estatico.
Los Tipos y Constantes: Se pueden definir dos tipos de datos ABAP dentro de una clase con la sentencia TYPES. Los tipos de datos no son especificos de cada instancia y existen una sola vez para todos los objetos de la clase.
Las constantes son un tipo especial de atributos estaticos. Su valor se fija cuando son declaradas y no puede ser cambiado. Se declaran usando la sentencia CONTANTS. Las constantes existen solo una vez para todos los objetos de la clase.
Cuando definitimos tipos de datos dentro de la definicion de una clase podemos usar la adicion READ ONLY luego de escribir el tipo de la variable que acabamos de declarar, esto significara que el atributo publico que fue declarado con la sentencia DATA, puede ser leido desde fuera de la clase, pero solo podra ser modificado por metodo de la misma clase, vale la pena aclarar que solo se podra utilizar la adicion READ ONLY dentro de la parte publica de la declaracion de una clase.
 
 
 
Sobre el autor
Publicación académica de Jeferson Jos Pena Curvelo, en su ámbito de estudios para el Master ABAP Orientado a Objetos.
Jeferson Jos Pena Curvelo
Chile - Legajo: PD49W
✒️Autor de: 180 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
























