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

 X 

✒️ABAP Las Interfaces

ABAP Las Interfaces

ABAP Las Interfaces

INTERFACES

1.- Introducciòn a Interfaces.

Hay veces en que es necesario para las clases proporcionar funcionalidades similares pero que estàn codificadas diferentes en cada clase, las cuales dan un punto de contacto comùn con el usuario.

Con 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 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.

Las interfaces permiten usar diferentes clases de una manera uniforme aprovechando las referencias a la interface 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 compònente pùblico, entonces la Interface describe completamente el àmbito pùblico de la clase.

3.- Definiciòn 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 "nombre".

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 acciòn de visibilidad ya que automàticamente pertenecen a la secciòn pùblica de la clase en la que la interface es implementada.

"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. 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 las métodos de todas las interfaces definidas 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".

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".

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

Una variable referencia con el tipo 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 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.

6.- Direccionar y asignar objetos usando referencias a interfaces.

Para crear un objeto de la clase, primero 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 la 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:

Para acceder a un atributo utilizaremos lo siguiente:

"creferencia->interface~atributo"

Para acceder al método utilizaremos:

CALL METHOD referencia->interface~metodo.

Usando la variable referenciada a una interface.

Para acceder a un atributo utilizaremos lo siguiente>

ireferencia->atributo.

Para acceder al método utilizaremos:

CALL METHOD ireferencia->metodo

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

Para acceder a una constante utilizamos lo siguiente.

interface => constante.

Para todos los 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 utilizaremos:

clase => interfase~atributo.

Para llamar a un método:

CALL METHOD clase=>interface~metodo.

7.- Ejemplo de Interfaces.

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

INTERFACE estado.

METHODS imprimir.

ENDINTERFACE.

CLASS contador DEFINITION.

PUBLIC SECTION.

INTERFACES estado.

METHODS incrementar.

PRIVATE SECTION.

DATA cuenta TYPE i.

ENDCLASS.

CLASS contador IMPLEMENTATION.

METHOD estado~imprimir.

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

ENDMETHOD.

METHOD incrementar.

ADD 1 TO cuenta.

ENDMETHOD.

ENDCLASS.

CLASS bicicleta DEFINITION.

PUBLIC SECTION.

INTERFACES estado.

METHODS manejar.

PRIVATE SECTION.

ADD velocidad TYPE i.

ENDLASS.

CLASS bicicleta IMPLEMENTATION.

METHOD estado~imprimir.

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

ENDMETHOD.

METHOD manejar.

ADD 10 TO velocidad.

ENDMETHOD.

ENDCLASS.

Luego dentro del evento START-OF-SELECTION.

creamos los objetos CUENTA y BICI. Ejecutamos los métodos CUENTA->INCREMENTAR y bici->MANEJAR, almacenamos los resultados en la tabla TU_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.

APPEND: cuenta TO ti_estado,

bici TO ti_estado.

ENDDO.

LOOP AT ti_estado INTO estado.

CALL METHOD estado->imprimir.

ENDLOOP.

Las interfaces son tipos de objetos que se pueden definir localmente en un programa ABAP o bien globalmente a través del repositorio R/3 en la transacción SE24.

Si se definen interfaces globalmente, entonces estas son almacenadas en un tipo especial del programa ABAP, llamadas: INTERFACE-POOL el cual es del tipo J, cada pool de interfaces contiene la definición de una sola interface, este programa es generado automáticamente cuando creamos la interface global.

Un INTERFACE-POOL es comparable a un MODULE-POOL o grupo de funciones, no contienen ninguna sentencia ejecutable. cuando se implemente 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 Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Miguel Angel Acosta Acosta

Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C

✒️Autor de: 238 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.

Certificación Académica de Miguel Acosta

✒️+Comunidad Académica CVOSOFT

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

SAP Expert


INTERFACES: Son estructuras independientes que se pueden implementar en una clase para extender 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. Para definir la referencia debe haber sido declarada en el programa antes que esta declaracion tenga lugar.

Acceder a esta publicación

Creado y Compartido por: Ernesto Aristides Romano

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

SAP Master

Interfaces Son estructuras independientes que pueden implementarse en una clase para extender el ámbito de esa clase. Amplían el ámbito público de una clase Sintaxis para una interfaz local: INTERFACE <nombre>. .......... <ENDINTERFACE>. Se implementan de la misma forma que las clases Las interfaces globales las vemos en la Tx SE23

Acceder a esta publicación

Creado y Compartido por: Xavier Martinez Garsaball

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

SAP Master

INTERFACES. Son estructuras independientes que se pueden implementar en una clase para extender el ámbito de su clase. DEFINICIÓN DE UNA INTERFACE. Al igual que las clases se pueden definir de manera global o local dentro de un programa la definición de una interface es el código dentro de INTERFACE<interface> y ENDINTERFACE. Las interfaces no tiene una parte de implementación ya que sus métodos son implementados en la clase donde se implementa la interface.

Acceder a esta publicación

Creado y Compartido por: Juan Santamaria Borja

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

SAP Master

Unidad 5: Programación Orientada a Objetos. Lección 5: Interfaces. 1.- Introducción a Interfaces. Las clases son instancias (los objetos) y el acceso a los objetos usando variables referenciadas son la base de la POO. En la vida real, podríamos tener 2 clases similares, Cuenta corriente y Cuenta de 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 capaces de ejecutar el método para todas las cuentas sin preocuparse del tipo de cada cuenta individual. Con objetos ABAP esto es posible mediante el uso de interfaces....

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

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

SAP Expert


Que son interfaces. Son estructuras independientes que se pueden implementar en una clase para extender el ámbito de esa clase. Las interfaces no tienen una parte de implementación ya que sus métodos son implementados en la clase que implementa la interface. 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. Referencias a interfaces. Para definirla se utiliza TYPE REF TO <interface> La interface que utilizaremos para definir la referencia debe haber sido declarada en el programa antes que esta declaración tenga lugar. Direccionar y asignar objetos usando referencias...

Acceder a esta publicación

Creado y Compartido por: David De Jesùs Restrepo Cañas

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

SAP Master

Introducción a Interfaces Clases similares pueden contener un método, en el que las interfaz y el nombre son los mismos pero la implementación es diferente. ¿Qué son las Interfaces? Son estructuras independientes que se pueden implementar en una clase para extender el ámbito de esa clase. Los componentes públicos definen su ámbito público, ya que sus atributos y parámetros de métodos pueden ser utilizados por todos los usuarios. Los componentes protegidos 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...

Acceder a esta publicación

Creado y Compartido por: Javier Exposito Diaz

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

SAP Senior

Las interfaces se emplean cuando tenemos varias clases con definiciones muy parecidas (sobre todo en métodos) pero cuya implementación es diferente en función de la clase en la que nos encontremos. Añaden sus propios componentes a la sección pública. Las interfaces locales se definen como INTERFACE <nombre_interface>...ENDINTERFACE. Las interfaces no cuentan con una sección de implementación, puesto que la encargada es la clase que implementa la interface. La clase tiene que implementar todos los métodos definidos en la interface. Para la implementación se emplea la nomenclatura interface~componente. Se pueden crear variables con referencia a una interface con la sintaxis...

Acceder a esta publicación

Creado y Compartido por: Francisco Javier López Andreu

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

SAP Master

INTERFACES: estructuras independientes que se pueden implementar en una clase para extender el ambito de esa clase. El ambito especifico de una clase viene definido por sus componentes y sus secciones de visibilidad. Los componentes protegidos de una clase definen su ambito en los que se refiere a sus subclases, las interfaces extienden el ambito de una clase añadiendo sus propios componentes a la seccion publica, esto permite a los usuarios acceder a las diferenctes clases por medio de un punto de contacto comun. Las interfaces junto con la herencia proporcianan uno de los pilares basicos del polimorfismo ya que permiten que un solo metodo con una interface se comporte distinto en diferentes clases. Las interfaces permiten usar diferentes...

Acceder a esta publicación

Creado y Compartido por: Jose Ignacio Rodini

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

SAP Master

1.- Introducción a Interfaces. Las clases, sus instancias(objetos) y el acceso a los objetos usando variables referenciadas son la base de la prograamación orientada a objetos en ABAP. Es necesario para las 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: Tenemos 2 clases similares Cuentas Corriente y Cuenta de Ahorro, las cuales tienen un método para calcular las comisiones del año. Las interfaces y nombres de los métodos son los mismo pero la implementación es diferente. 2.- Qué son las Interfaces. Son estructuras independientes que se pueden implementar...

Acceder a esta publicación

Creado y Compartido por: Gustavo Alberto Ramirez Franco

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

SAP Master

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...

Acceder a esta publicación

Creado y Compartido por: Victor Norberto Levi

 


 

👌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!