✒️ABAP Las Interfaces
ABAP Las Interfaces
5° Interfaces
1- Introducción a Interfaces
- Las Clases, sus Instancias (objetos) y el acceso a los Objetos usando Variables Referenciadas son la base de la Programación Orientada a Objetos en ABAP.
- Puede ocurrir que Clases similares deban proporcionar funcionalidades parecidas, pero las Implementaciones son diferentes. Por ejemplo en las Clases Cuenta Corriente y Cuenta de Ahorro el cálculo de las comisiones del año es igual, solo que deben actuar sobre distintos Objetos, y el usuario no debe preocuparse del tipo de cada cuenta.
2- Qué son las Interfaces?
Son estructuras independientes que se pueden implementar en una Clase para extender el ámbito de esa Clase.
El ámbito específico de una Clase está definido por sus Componentes y sus Secciones de Visibilidad.
- Los Componentes Públicos definen su ámbito público (Atributos y Parámetros de Métodos para todos los Usuarios).
- Los Componentes Protegidos definen su ámbito respecto a sus Subclases. Las Interfaces lo extienden añadiendo sus Componentes a la Sección Pública, y permite que los Usuarios accedan a diferentes Clases por un punto en común.
- Las Interfaces junto con la Herencia son los pilares básicos del Polimorfismo, ya que permiten que un sólo Método con una Interface se comporte distinto en diferentes Clases.
- Si una Clase no tiene ningún Componente Público específico, la Interface describe el ámbito público de la Clase.
3- Definición de una Interface
Se pueden definir Globalmente en el Repositorio R/3 o Localmente en el programa ABAP utilizando Código ABAP entre las sentencias INTERFACE<nombre de la interface> y ENDINTERFACE.
Contiene la Declaración de sus Componentes (Atributos, Métodos y Eventos) y no tienen que ser asignados a ninguna Sección de Visibilidad (automáticamente pertenecen a la Sección Pública de la Clase) ni tienen una parte de Implementación (sus Métodos son implementados en la Clase).
4- Implementación de Interfaces
Cuando se implementa una Interface en una Clase, sus Componentes se añaden a la Sección Pública de la Clase y se lo puede direccionar utilizando como nombre lo siguiente <nombre de la Interface~nombre del Componente>
La Clase debe implementar los Métodos de las Interfaces implementadas en ella utilizando la sentencia METHOD<nombre de la Interface~nombre del Método>
Las Interfaces pueden ser implementadas en diferentes Clases, las cuales se ven ampliadas con los mismos Componentes, aunque los Métodos pueden ser implementados en forma distinta en cada Clase.
5- Referencias a Interfaces
Las Variables Referenciadas permiten acceder a los Objetos. Se pueden crear Variables Referenciadas a una Interface y puede contener referencias a los Objetos de las Clases que implementen esa Interface.
Para definir una Referencia a una Interface se usa la adición TYPE REF TO <nombre de la Interface>. LaInterfase debe haberse declarado antes en el programa.
Una Variable Referenciada con el Tipo Referenciado a una Interface se llama Variable Referenciada a una Interface oReferencia a Interface. <ireferencia>-><nombre de Componente> Con esto se puede acceder a todos losComponentes Visibles de la Interface del Objeto al cual la Referencia está apuntando y le permite al Usuarioacceder a todos los Componentes que fueron añadidos a su definición al implementar la Interface.
- Se crean los Objetos CUENTA y BICI.
- Se ejecutan los Métodos CUENTA->INCREMENTAR y BICI->MANEJAR
- Se almacenan los resultados en la Tabla TI_ESTADO
- Y se recorre la Tabla llamando al Método IMPRIMIR
- Se pueden definir a través del Repositorio R/3 utilizando la Trx SE24.
- Son almacenadas en un Tipo Especial de Programa ABAP llamado Interface Pool que es del Tipo J y sirve como contenedor del respectivo Tipo de Objeto.
- Cada Pool de Interfaces contiene la definición de una sola Interface.
- Este programa se genera automáticamente cuando se crea la Interface Global.
- Un Pool de Interfaces es comparable a un Modul Pool o a un Grupo de Funciones. No contienen ninguna sentencia ejecutable.
- Cuando se implementa una Interface en una Clase, la Definición de la Interface queda implícitamente incluida en la Definición de la Clase.
 
 
 
Sobre el autor
Publicación académica de Victor Norberto Levi, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Norberto Levi
Profesión: Analista Programador - Argentina - Legajo: VT17H
✒️Autor de: 111 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Victor Levi