🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Las Interfaces

ABAP Las Interfaces

ABAP Las Interfaces

Unidad-5-Lección-5: Interfaces

1) Introducción a 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. Además, 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.

Ejemplo:

Podríamos tener dos clases similares, cuenta corriente y cuenta d ahorro, las cuales tienen un método para calcular las comisiones del año. Las interfaces y nombres de los métodos son los mismos pero la implementación es diferente. El usuario de las clases y las instancias tiene que ser capaz de ejecutar el método para todas las cuentas sin preocuparse del tipo de cada cuenta individual.

Con los objetos ABAP esto es posible mediante el uso de las interfaces.

2) ¿Que 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 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. Los componentes protegidos de una clase definen su ámbito en lo que se refiere a sus subclases. Las interfaces extienden el ámbito de una clase añadiendo sus propios componentes a la sección pública. Esto permite a los usuarios acceder a diferentes clases por medio de un punto de contacto común.

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.

NOTA (Audio Tip 1): Las interfaces permiten usar diferentes clases de una manera uniforme, aprovechando las referencias a la interfaces, es decir, el polimorfismo. Por ejemplo las interfaces implementadas en diferentes clases amplían el ámbito público de la clase en el mismo conjunto de componentes. Si la clase no tiene ningún componente público específico de ella misma entonces la interface describe completamente el ámbito púbico de la clase.

3) Definición de una Interface

Al igual que las clases, interfaces 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 asignados a ninguna sección de visibilidad ya que automáticamente pertenecen a la sección publica de la clase en la que la interface es implementada.

NOTA: Las interfaces no tienen una parte de implementación ya que sus métodos son implementados en la clase que implementa la interface.

4) 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 de la clase. Un componente de una interface puede ser direccionado como si fuese un miembro de la clase bajo el 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 case 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.

5) 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>

NOTA: La interface que utilicemos para definir la referencia debe haber sido declarada en el programa antes que esta declaración tenga lugar.

Una variable referenciada con el tipo de referenciado a una interface se llama variable referenciada a una interface, o referencia a interface simplemente. 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. Este permite al usuario acceder a todos los componentes del objeto que fueron añadidos a su definición al implementar la interface.

6) 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 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:

<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 describimos a continuación.

Usando la variable referenciada a una clase:

%uF0D8 Para acceder a un atributo utilizaremos lo siguiente:

<creferencia>-><interface~atributo>

%uF0D8 Para acceder al método utilizaremos:

CALL METHOD <creferencia>-><interface~metodo>

Usando la variable referenciada a una interface:

%uF0D8 Para acceder a un atributo utilizaremos:

<ireferencia>-><atributo>

%uF0D8 Para acceder al método utilizaremos:

CALL METHOD <ireferencia>-><metodo>

Siempre que los componentes estáticos de las interfaces estés implicados, sólo se puede usar el nombre de la interface para acceder a las constantes:

%uF0D8 Para acceder a una constante utilizaremos los siguiente:

<interface>=><constante>

Para todo los demás componentes estáticos de una interface, solo se pueden usar referencias a objetos o la clase que implementa la interface:

%uF0D8 Para acceder a un atributo estático utilizaremos:

<clase>=><interface~atributo>

%uF0D8 Para llamar a un método estático utilizaremos:

CALL METHOD <class>=><intf~meth>

7) Ejemplo de Interfaces

A continuación veremos un Ejemplo de una programa ABAP que utiliza interfaces. Aquí declaramos la interface ESTADO y las clases CONTADOR y BICICLETA. Dentro de la sección pública de ambas clases declaramos la interface ESTADO.

*----------------------------------------------------------------------*

* INTERFACE estado IMPLEMENTATION

*----------------------------------------------------------------------*

*

*----------------------------------------------------------------------*

INTERFACE estado.

METHODS imprimir.

ENDINTERFACE. "estado IMPLEMENTATION

*----------------------------------------------------------------------*

* CLASS contador DEFINITION

*----------------------------------------------------------------------*

*

*----------------------------------------------------------------------*

CLASS contador DEFINITION.

PUBLIC SECTION.

INTERFACES estado.

METHODS incrementar.

PRIVATE SECTION.

DATA cuenta TYPE i.

ENDCLASS. "contador DEFINITION

*----------------------------------------------------------------------*

* CLASS contador IMPLEMENTATION

*----------------------------------------------------------------------*

*

*----------------------------------------------------------------------*

CLASS contador IMPLEMENTATION.

METHOD estado~imprimir.

WRITE: / 'La cuenta en el contador es: ', cuenta.

ENDMETHOD. "estado~imprimir

METHOD incrementar.

ADD 1 TO cuenta.

ENDMETHOD. "incrementar

ENDCLASS. "contador IMPLEMENTATION

*----------------------------------------------------------------------*

* CLASS bicicleta DEFINITION

*----------------------------------------------------------------------*

*

*----------------------------------------------------------------------*

CLASS bicicleta DEFINITION.

PUBLIC SECTION.

INTERFACES estado.

METHODS manejar.

PRIVATE SECTION.

DATA velocidad TYPE i.

ENDCLASS. "bicicleta DEFINITION

*----------------------------------------------------------------------*

* CLASS bicicleta IMPLEMENTATION

*----------------------------------------------------------------------*

*

*----------------------------------------------------------------------*

CLASS bicicleta IMPLEMENTATION.

METHOD estado~imprimir.

WRITE: / 'La velocidad de la bicicleta es: ', velocidad.

ENDMETHOD. "estado~imprimir

METHOD manejar.

ADD 10 TO velocidad.

ENDMETHOD. "manejar

ENDCLASS. "bicicleta IMPLEMENTATION

Luego dentro del evento START-OF-SELCTION creamos los objetos CUENTA y BICI. Ejecutamos los métodos CUENTA->INCREMENTAR y BICI->MANEJAR, almacenamos los resultados en la tabla TI_ESTADO y recorremos la tabla llamando al método IMPRIMIR.

DATA: cuenta TYPE REF TO contador,

bici TYPE REF TO bicicleta,

estado TYPE REF TO estado,

ti_estado TYPE TABLE OF REF TO estado.

START-OF-SELECTION.

CREATE OBJECT: cuenta, bici.

DO 5 TIMES.

CALL METHOD: cuenta->incrementar,

bici->manejar.

ENDDO.

APPEND: cuenta TO ti_estado,

bici TO ti_estado.

LOOP AT ti_estado INTO estado.

CALL METHOD estado->imprimir.

ENDLOOP.

La salida por pantalla del programa será:

Interfaces en ABAP

-----------------------------------------------------------

La cuenta es el contador es: 5

La velocidad de la bicicleta es: 50

NOTA (Audio Tip 2): Las interfaces son tipos de objeto que se pueden definir localmente en un programa ABAP, o globalmente en un programa a través del repositorio R/3, en la Transacción SE24, tal como veremos más adelante en detalle para las clases. Si se definen interfaces globalmente entonces estas son almacenadas en un tipo especial del programa ABAP llamado INTERFACE POOL, el cual es de tipo J y sirve como contenedor del respectivo tipo de objeto. Cada pool de interface contiene la definición de una sola interface. Este programa es generado automáticamente cuando creamos la interface global. Un pool de interfaces es comparable a un modo pool o a un grupo de funciones. Los pool de interfaces 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.


 

 

 

Agradecimiento:

Ha agradecido este aporte: Francisco Ortega Aguilar


Sobre el autor

Publicación académica de Oscar Perez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Oscar Perez

Profesión: Ingeniero de Sistemas. Consultor y Desarrollador en Peoplesoft - Canada - Legajo: FD38F

✒️Autor de: 105 Publicaciones Académicas

🎓Cursando Actualmente: Master en Programación ABAP Orientado a Objetos

🎓Egresado de los módulos:

Certificación Académica de Oscar Perez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las Interfaces" de la mano de nuestros alumnos.

SAP Master

Interfaces Son estructuras independientes que se puenden implementar en una clase para extender el ambito de esa clase. Las interfaces junto con la herencia proporcionan uno de los pilares basicos del polinorfismo, ya que permiten que un solo metodo con una interface se comporte distinto en diferentes clases. TIPS AUdIO 1: Las interfaces periten utilizar diferentes clases de una manera uniforme, aprovechando asl referencias a las interfaces es decir el polimorfismo . Ejemplo las interfaces implementadas en diferentes clases amplian el ambito publico de la clase en el mismo conjunto de componentes. S la clase no tiene ningun componente publico especifico de ella misma, entonces la interface describe completamente el ambito publico de la clase....

Acceder a esta publicación

Creado y Compartido por: Pedro Salazar / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Interfaces Qué son las interfaces? Son estructuras independientes que se pueden implementar en una clase para extender el ámbito de esa clase. OJO: 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 Al igual que las clases, las interfaces se pueden definir globalmente como localmente en un programa ABAP. Las interfaces no tiene una parte de implementación ya que sus métodos son implementados en la clase que implementa la interface.

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Interfaces: Son estructuras independientes que se pueden implementar en una clase para exterder el ambito de esa clase. Las interfaces no tienen una parte de implementacion ya que sus metodos son implementados en la clase que implementa la interface.

Acceder a esta publicación

Creado y Compartido por: Cesar Ismael Rodriguez Zorrilla

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Interfaces. Son estructuras independientes que se pueden implementar en una clase para extender el ambito de esa clase. - Las interfaces junto con la herencia proporcionan uno de los pilares básicos del polimorfismo, ya que permiten que un solo método con una interface se comporte distinto en diferentes clases. - Las interfaces se pueden definir globalmente o localmente en un programa ABAP. - Los componentes de las interfaces no tienen que ser asignados a ninguna sección de visibilidad ya que por default pertencen a la sección pública de la clase. - Para definir una referencia a una interface se usa la siguiente instrucción. TYPE REF TO <interface>. - Si se definen interfaces globalmente estas...

Acceder a esta publicación

Creado y Compartido por: Erick Omar Mármol Ascencio / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Audio nA U5L5-A: Polimorfismo de clases con interfaces. Las interfaces permiten usar diferentes clases de una manera uniforme aprovechando las referencias a las interfaces, es decir, el polimorfismo. Por ejemplo, las interfaces implementadas en diferentes clases amplían el ámbito público de la clase en el mismo conjunto de componentes. Si la clase no tiene ningún componente público específico de ella misma, entonces la interface describe completamente el ámbito público de la clase. Audio nA U5L5-B: Interfaces locales y globales. Interface-pool. Las interfaces son tipos de objetos que se pueden definir localmente en un programa ABAP, o bien, globalmente a través del repositorio...

Acceder a esta publicación

Creado y Compartido por: Juan Alberto Peñalver Alvarez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

interfaces introduccion a interfaces las clases, sus instancias los objetos y el acceso a los objetos usando variables referenciadas son la base de la programacion orientada a objetos en abap. ademas hay veces en las que es necesario para clases similares proporcionar funcionalidades similares pero que estan codificadas diferentes en cada clase, las cuales dan un punto de contacto comun con el usuario. que son las interfaces son estructuras independientes que se pueden implementar en una clase para extender el ambieto de esa clase. el ambito especifico de una clase viene definido por sus componentes y sus secciones de visibilidad, por ejemplo los componentes publicos de una clase definen su ambito publico, ya que todos sus atributos y los parametros...

Acceder a esta publicación

Creado y Compartido por: Oscar Sebastian Caicedo Carlier / Disponibilidad Laboral: PartTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Unidad 5: Programación Orientada a Objetos. Lección 5: Interfaces. Audio tip 1: Las interfaces permiten usar diferentes clases de una manera uniforme aprovechando las referencias a las interfaces, es decir, el polimorfismo, por ejemplo las interfaces implementadas en diferentes clases amplían el ámbito público de la clase en el mismo conjunto de componentes. Si la clase no tienen ningún componente público específico de ella misma entonces la interface describe completamente el ámbito público de la clase. Audio tip 2: Las interfaces son tipos de objetos que se pueden definir localmente en un programa ABAP o bien globalmente a través del repositorio R3 en la transacción...

Acceder a esta publicación

Creado y Compartido por: Brenda Castillo Domínguez / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

INTERFACE. son estructuras independientes que se pueden implementar en una clase para extender el ámbito de esa clase. El ámbito es igual a sus componentes y secciones de visiblidad, por ejemplo si sus atributos y parámetros de los métodos son públicos su ámbito es público. Las interfaces junto con la herencia proporciona uno de los pilares del polimorfismo Las interfaces se pueden definir globalmente o localmente en un programa: IINTERFACE Las interfaces no deben estar en una sección de visibilidad, ya que ella automáticamente pertenecen a una sección pública Las interfaces no tienen implementación , ya que sus métodos son implementados...

Acceder a esta publicación

Creado y Compartido por: Morela Silva

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


INTRODUCCION A INTERFACES, son estructuras independientes que se pueden implementar en una clase para extender el ambito de esa clase definir una interfase INTERFACE <interface>... ENDINTERFACE Las interfaces no tienen una plarte de implementacion ya que sus metodos son implementados en la clase que implementa la interface La interface que utilicemos para definir la referencia debe haber sido declarada en el programa antes que esta declaracion tenga lugar Transaccion SE24

Acceder a esta publicación

Creado y Compartido por: Yeffer Jaime Sierra Saenz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


INTERFACES INTRODUCCION A INTERFACES LAS CLASES, SUS INSTANCIAS (LOS OBJETOS) Y EL ACCESO A LOS OBJETOS USANDO VARIABLES REFERENCIADAS SON LA BASE DE LA PROGRAMACION ORIENTADA A OBJETOS EN ABAP. SE OCUPAN CUANDO ES NECESARIO QUE PARA CLASES SIMILARES QUE PROPORCIONAN FUNCIONALIDADES SIMILARES PERO ESTÁN CODIFICADAS DIFERENTES EN CADA CLASE. ----------------------------------------------------------- QUE SON LAS INTERFASCES SON ESTRUCTURAS INDEPENDIENTES QUE SE PUEDEN IMPLEMENTAR EN UNA CLASE PARA EXTENDER EL AMBITO DE ESA CLASE. LAS INTERFACES EXTIENDEN EL ÁMBITO DE UNA CLASE AÑADIENDO SUS PROPIOS COMPONENTES A LA SECCIÓN PÚBLICA. LAS INTERFACES JUNTO SON LA HERENCIA PROPORCIONAN UNO DE LOS PILARES BÁSICOS...

Acceder a esta publicación

Creado y Compartido por: Oscar Guillermo Rodriguez Villate / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!