✒️ABAP Las Interfaces
ABAP Las Interfaces
INTERFACES – LECCION 5-5
INTRODUCCION A LAS 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 objeto en ABAP
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 viene definido por sus componentes y sus secciones de visibilidad.
Los componentes protegidos de una clase definen su ámbito en lo que se refiere a su clase, las interfaces existen el ámbito de una clase añadiendo sus propios componentes a la sección publica
Las interfaces junto con la herencia proporcionan uno de los pilares básicos del polimorfismo ya que permite que un solo método con una interface se comporte distinto en diferentes clases
DEFINICION DE UNA INTERFACE, al igual que las clases, las interfaces se pueden definir o bien 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 siguientes:
INTERFACE <interface>.
…….
ENDINTERFACE.
La definición contiene la declaración de todos los componentes (atributos, métodos y eventos) de la interface, se puede definir los mismos componentes en una interface que en una clase
Los componentes de las interfaces no tienen que ser asignados a ninguna sección de visibilidad ya que automáticamente pertenece a la sección publica de la clase en la interface es implementada
NOTA, las interfaces no tienen parte de implementación ya que sus métodos son implementados en la clase que implementa la interface
IMPLEMENTACION DE INTERFACES, cuando se implementa una interface en una clase, componentes de la interface se añaden al resto de componentes de la sección pública. Un componente de una 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 <inteface ~ método>.
….
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.
REFERENCIA A INTERFACES, las variables referenciadas permiten acceder a los objetos, en lugar de crear variables referenciadas con referencias a una clase, se pueden crear con referencias a una interface
Este tipo de variables referenciadas puede contener referencia a los objetos de las clases que implementen esa interface
TYPE REF TO <interface>
NOTA, las interfaces que utilicemos para definir la referencia debe haber sido declarada en el programa antes que esta declaración tenga lugar
Una referencia a interface permite al usuario usar la siguiente declaración
<ireferencia> -> <componente>
Para acceder a todos los componentes visibles de la interface del objeto al cual la referencia está apuntando.
Esto permite al usuario acceder a todos los componentes del objeto que fueron añadidos a su definición al implementar la interface
DIRECCIONAR Y ASIGNAR OBJETOS USANDO REFERENCIAS A INTERFACES
Para crear objetos de la clase primer se tiene que haber declarado una variable referenciada con referencia a la clase.
Si la clase implementa una interface, se puede usar la siguiente asignación entre la variable referenciada a la clase y una referencia a interface, para hacer que la referencia a interface apunte al mismo objeto que la referencia a clase en
<iereferencia> = <creferecia>
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 describimos a continuación
Usando la variable referenciada a una clase
<creferencia> -> <interface ~ atributo>
Para acceder al método utilizaremos los siguiente
CALL METHOD <creferencia> -> <interface ~ método>
Usando la variable referenciada a una interface
Para acceder al atributo utilizaremos lo siguiente
<ireferencia> - <atributo>
Para acceder al método utilizaremos los siguiente
CALL METHOD <ireferencia> -> <método>
Siempre que los componentes estáticos de las interfaces estén implicados, solo se pueden usar el nombre de la interface para acceder a las constantes
Para acceder a la constante utilizaremos lo siguiente
<interface> = > <constante>
Para todos los demás componentes estáticos de una interface, solo se pueden usar referencias a objetos o la clase que implementa la interface
Para acceder a un atributo estático utilizaremos lo siguiente
<clase> => <interface ~ atributo>
Para llamar a un método estático se utiliza lo siguiente
CALL METHOD <class> => <intf ~ meth>
EJEMPLO DE INTERFACE,
 
 
 
Sobre el autor
Publicación académica de Cristian Darwin Arteaga Diaz, en su ámbito de estudios para la Carrera Consultor ABAP.
Cristian Darwin Arteaga Diaz
Profesión: Abap Developer - Argentina - Legajo: GP81Q
✒️Autor de: 165 Publicaciones Académicas
🎓Cursando Actualmente: Master Funcional para Consultores ABAP
🎓Egresado de los módulos:
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Me considero una persona responsable, siempre estoy investigando y capacitandome para adquirir nuevos conocimientos, tengo el gusto de iniciarme en el mundo de abap como desarrollador, es genial.
Certificación Académica de Cristian Arteaga