✒️ABAP POO Las Interfaces
ABAP POO Las Interfaces
INTERFACES
INTRODUCCION A INTERFACES
La base de la POO en ABAP son las clases, instancias (los objetos) y el a cceso a los objetos usando variables.
En algunos casos es necesrio isar clases similares porporcionar funcionalidades similares pero codificadas de diferentes en cada clase.
El usuario de la clase y las instancias, es capaz de ejecutar el metrodo para todas las cuentas.
QUE SON LAS INTERFACES?
INTERFACES. Estructuras independientes que se pueden implementar en una clase para extender el ambito de esa clase
Una clase viene definido por sus componentes y sus secciones de visibilidad.
Las interfaces junto con la herencia proporcionan uno de los pilares basicos del polimorfismo.
Las interfaces permiten usar diferentes clases de manera uniforme, aprovechando las referencias a las interfaces, es decir, el polimorfismo por ejemplo, las interfaces implementadas en diferentes clases amplian el ambito publico de la clase, en el mismo conjunto de componentes, si la clase no tiene ningun componente publico especifico de ella misma, entonces la interface escribe completamente el ambito publico de la clase
DEFINIDION DE UNA INTERFACE
Una Interfaz local es el codigo existente entre las sentencias:
- INTERFACE<interface>.
- ...
- ENDINTERFACE.
Los componentes de las interfaces no tienen que ser asignados a ninguna seccion de visibilidad, automaricamente pertenecen a la seccion publica de la clase en la interfaz es implementada
Tal como se menciona anteriormente, los objeto ABAP no soportan herencia multiple, en ABAP solo es posible implementar herencias simple, es decir, una clase solo puede heredar de otra clase.
Si tratamos de definir multiples superclases cuando definimos una clase, el compilador de ABAP producira un error.
Pero dado que podemos incluir mas de una interface en la declaracion de una clase utilizando la sentencia INTERFACE de esta forma podremos alcanzar el concepto de herencia multiple.
La clase que implementa las interfaces, tendran disponibles todos los componentes de todas las interfaces, deberemos implementar todos los metodos que esten disponibles en las interfaces de la clase
IMPLEMENTACION DE INTERFACES
Al momento de implementar una interface en una clase, los componentes de la interface se añaden al resto de componentes de la seccion publica.
Un componente de una interface puede ser direccionado como si fuera un miembro de la clase bajo el nombre de:
<interface~componente>
Una parte de implementacion de la clase debe contener la implementacion de cada metodo de la interface:
- METHOD<interface~metodo>.
- ...
- ENDMETHOD
REFERENCIAS A INTERFACES
Las variables referenciadas permiten acceder a los objetos. Las variables referenciadas se pueden crear con referencia a una interface
Para definir una referencia a una interface utilizamos:
TYPE REF TO<interface>
Una referencia a interface permite al usuario usar:
<ireferncia>-><componente>
Esto permite al usuario acceder a todos los componentes del objeto que fueron añadidos a su definicion al implementar la interface
DIRECCIONAR Y ASIGNAR OBJETOS USANDO REFERENCIAS A INTERFACES
Para crear un objeto de la clase primero debemos declarar una variable referenciada con referencia a la clase. podemos usar la siguiente sintaxis entre la variable referenciada a la clase y una referencia a interface para hacer que la referencia apunte al mismo objeto que la referencia a clase en:
<ireferencia>=<creferencia>
Si la interfaz contiene un atributo dependiente y un metodo dependiente podemos direccionar los componentes de la interface.
Usando la variable referenciada a una clase:
- Para acceder a un atributo: <creferencia>-><interface~atributo>
- Para acceder al metodo: CALL METHOD<creferencia>-><interface~metodo>
Usando la variable referenciada a una interface:
- Para acceder a un atributo: <ireferencia>-><atributo>
- Para acceder al metodo: CALL METHOD<ireferencia>-><metodo>
Siempre que los componentes estaticos de las interfaces esten implicados solo se puede usar el lnombre de la interface para acceder a las constantes
- Para acceder a una constante: <interface>=><constante>
Para los componentes estaticos de una interface, solo pueden usar referencias a objetos o la clase que implementa la interface:
- Para acceder a un atributo estatico: <clase>=><interface~atributo>
- Para llamar a un metodo estatico: CALL METHOD<class>=><intf~meth>
EJEMPLO DE INTERFACES
Las interfaces son tipos de objetos que se pueden definir localmente en un programa ABAP o bien globalmente a traves del repositorio R3, en la transaccion SE24, tal como veremos mas adelante en detalle para las clases, si se definen interfaces globalmente, entonces estas son almacenadas en un tipo especial del programa ABAP llamado interfaz POOL el cual es el tipo 'J' y sirve com contenedor del respectivo tipo de objetos, cada POOL DE INTERFACES contiene la definicion de una sola interface, este programa es generado automaticamente cuando creamos la interface global.
Un POOL DE INTERFACES es comparable a un modo POOL con grupo de funciones, los POOL de interfaces no contienen ninguna sentencia ejecutable, cuando se implementa una interface en una clase, la definicion de la interface queda implicitamente incluida en la definicion de la clase
 
 
 
Sobre el autor
Publicación académica de Ixhel Magai Lopez Valencia, en su ámbito de estudios para el Máster ABAP POO.
Ixhel Magai Lopez Valencia
Mexico - Legajo: PM62E
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Soy ingeniera en telematica, estoy interesada en aprender programacion en sap, solo tengo conocimientos basicos en java
Certificación Académica de Ixhel Lopez