✒️ABAP Las Interfaces
ABAP Las Interfaces
Interfaces
Las clases, sus instancias (los objetos) y el acceso a los objetos usando variables referenciadas son la base de la programación orientada a objetos en ABAP.
Hay veces en las que es necesario para clases similares proporcionar funcionalidades similares pero que están codificadas diferentes en cada clase, las cuales dan un punto de contacto común con el usuario.
Las interfaces son estructuras independientes que se pueden implementar en una clase para extender el ámbito de esa clase.
El ámbito especifico de una clase viene definido por sus componentes y sus secciones de visibilidad. Por ejemplo, los componentes públicos de una clase definen su ámbito público, ya que todos sus atributos y los parámetros de los métodos pueden ser utilizados por todos los usuarios.
Las interfaces junto con la herencia proporcionan uno de los pilares básicos del polimorfismo ya que permiten que un sólo método con una interface se comporte distinto en diferentes clases.
Definición de una interface
Se pueden definir globalmente en el repositorio R/3 o localmente en un programa ABAP. La definición de una interface local es el código existente entre las sentencias:
INTERFACE <interface>.
...
ENDINTERFACE.
La definición contiene la declaración de todos los componentes (atributos, métodos y eventos) de la interface. Se pueden definir los mismos componentes en una interface que en una clase.
Los componentes de las interfaces no tienen que ser asginados a ninguna sección de visibilidad ya que automáticamente pertenecen a la sección pública de la clase en la que la interface es implementada.
Implementación de Interfaces
Cuando se implementa una interface en una clase, los componentes de la interface se añaden al resto de componentes de la sección pública. Un componente de la interface puede ser direccionado como si fuese un miembro de la clase bajo el siguiente nombre: <interface~componente>.
La clase tiene que implementar los métodos de todas las interfaces implementadas en ella. La parte de implementación de la clase debe contener la implementación de cada método de la interface.
METHOD <interface~metodo>.
...
ENDMETHOD.
Las interfaces pueden ser implementadas por diferentes clases. Cada una de las clases es ampliada con el mismo conjunto de componentes, aunque los métodos de la interface pueden ser implementados de manera distinta en cada clase.
Referencias a Interfaces
Las variables referenciadas permiten acceder a los objetos. En lugar de crear variables referenciadas con referencia a una clase, se pueden crear con referencia a una interface.
Este tipo de variables referenciadas puede contener referencias a los objetos de las clases que implementen esa interface
Para definir una referencia a una interface se usa la siguiente adición:
TYPE REF TO <interface>
La interface que se use para definir la referencia debe hacer sido declarada en el programa antes que esta declaración tenga lugar.
Una variable referenciada con el tipo referenciado a una interface se llama variable referenciada a una interface o referencia a interface.
Una referencia a interface permite al usuario usar la siguiente declaración para acceder a todos lo componentes visibles del objeto al cual la referencia está apuntando.
<ireferencia>-><componente>
Direccionar y asignar objetos usando referencias a interfaces
Para crear un objeto de la clase primero se tiene que haber declarado una variable referenciada con referencia a la clase.
Si la clase implementa una interfacem, se puede usar la siguiente asignación entre la variable referenciada a al clase y una referencia a interface, para hacer que la referencia a interface apunte al mismo objeto que la referencia a clase en:
<ireferencia> = <creferencia>
Si la interface contiene un atributo dependiente de instancia y un método dependiente de instancia se puede direccionar los componentes de la interface como se describe a continuación:
Usando la variable referenciada a una clase
- Para acceder a un atributo se utiliza lo siguiente: <creferencia>-><interface~atributo>
- Para acceder al método se utiliza: CALL METHOD <creferencia>-><interface~metodo>
Usando la variable referenciada a una interface
- Para acceder a un atributo: <ireferencia>-><atributo>
- Para acceder al método: CALL METHOD <ireferencia>-><metodo>
Siempre que los componentes estáticos de las interfaces estén implicados, sólo se puede usar el nombre de la interface para acceder a las constantes:
- Para acceder a una constante: <interface>=><constante>
Para todos los demás componentes estáticos de una interface sólo se pueden usar referencias a objetos o la clase que implementa la interface
- Para acceder a un atributo estático: <clase>=><interface~atributo>
- Para llamar a un método estático: CALL METHOD <class>=><intf~meth>
 
 
 
Sobre el autor
Publicación académica de Ninoska Marquez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ninoska Marquez
Profesión: Ing. de Sistema - Honduras - Legajo: FU90M
✒️Autor de: 99 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Me llamo ninoska marquez tengo 44 anos, tengo varios años de trabajar para una empresa donde me desempeño con el cargo de programador junior, soy perseverante, amable, tranquila
Certificación Académica de Ninoska Marquez