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

 X 

✒️ABAP POO Las Interfaces

ABAP POO Las Interfaces

ABAP POO Las Interfaces

INTERFACES

INTRODUCCION A INTERFACES

Las clases, sus instancias (los objetos) y el acceso a los objetos usando variables referenciadas son la base de la programación POO en ABAP.

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

Por ejemplo:

Clase Cuenta_corriente y Clase Cuenta_de_ahorro, ambas tienen un métodod para calculas las comisiones_anio. Las interfaces y nombres de los métodos son los mismos pero la implementación es diferente.

El usuario/programadro de las clases y las instancias tiene que ser capaz de ejecutar el método para todas las cuentas sin preocuparse de ltipo de cada cuenta individual.

En POO ABAP esto es posible mediante el uso de las interfaces.

QUE SON:

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 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 un 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 solo método con un interface se comporte distinto en diferentes clases.

Las interfaces permiten usar diferentes clases de una manera uniforme aprovechando las referencias a las interfaces (polimorfismo) las interfaces implementadas en diferentes clases amplían el ámbito público de la clase en el mismo conjunto de componente. Si la clase no tiene componente público específico entonces la interface describe el ámbito público de la clase.

DEFINICION DE UNA INTERFACE

Al igual que las clases, las interfaces se pueden definir o bien globalmente en el Repositorio R/· 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 tiene 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 implementado.

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

Los objetos ABAP no soportan herencia múltiple, utilizando la sentencia INTERFACE podemos alcanzar el concepto de herencia múltiple,

La clase que implemente las interfaces tendrá disponible todos los componentes de todas las interfaces. Deberemos implementar todos los métodos que estén disponibles en la interfaces de la clase.

IMPLEMENTACION 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 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 <interface~componente>.

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.

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 la clase que implementen esa interface.

Para definir una referencia a una interface se usa:

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

Esto permite al usuario acceder a todos los componentes del objeto que fueron añadidos a su definición al implementar la interface.

DIRECCION 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 así:

Usando la variable referenciada a una clase:

· Para acceder a un atributo: <creferencia>-><interface~atributo>

· Para acceder al método: CALL METHOD <creferencia>-><interface~metodo>

Usando la variable referenciada a una interface

· Para acceder a un atributo: <ireferencia>-><atributo>

· Para acceder al método: CALL METHOD <ireferencia>-><método>

Siempre que los componentes estáticos de las interfaces estén implicados solo se puede usar el nombre de la interface para acceder a las constantes

· Para acceder a una constante: <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: <clase>=><interface~atributo>

· Para llamar a un método estático: CALL METHOD <clase>=><interface~metodo>

EJEMPLO DE INTERFACES

Declaramos la interface ESTADO y las clases CONTADOR y BICCLETA. Dentro de la sección pública en ambas clases declaramos la interface ESTADO

INTERFACE estado.

…METHODS imprimir.

ENDINTERFACE

CALSS contador DEFINITION.

…PUBLIC SECIONT.

……INTERFACES estado.

……METHODS incrementar.

…PRIVATE SECTION.

……DATA cuenta TYPE i.

ENDCLASS

CLASS contador IMPLEMENTATION.

…METHODS estado~imprimir.

……WRITE: / ‘LA cuenta en el contador es: ‘, cuenta.

…ENDMETHOD.

…METHOD incrementar.

……ADD 1 TO cuenta.

…ENDMETHOD.

ENDCLASS.

CLASS bibicleta DEFINTION.

…PUBLIC SECTION.

……INTERFACES estado.

……METHODS manejar.

…PRIVATE SECTION.

…DATA velocidad TYPE i.

ENDCLASS.

CLASS bicicleta IMPLEMENTATION.

…METHOD estado~imprimir.

……WRITE: / ‘ La velocidad de la bici es: ‘, velocidad.

…ENDMETHOD.

…METHOD manejar.

……ADD 10 TO velocidad.

…ENDMETHOD

ENDCLASS.

Después en el 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 TI_ESTADO y recorremos la tabla llamando al método IMPRIMRI.

DATA: cuenta TYPE REF TO contador, bici TYPE REF TO bicicleta, estado TYPR 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.

Las interfaces son tipos de objetos que se pueden definir localmente o globalmente usando la transacción SE24.

Si se definen interfaces públicas mediante la transacción SE24 esta se almacena en un programa especial ABAP llamado interface_pool que es del tipo J y sirve como contenedor de estos objetos.

Cada pool contiene la definición de una sola interface.

Este programa es creado automáticamente cuando creamos la interface global, esto es comparable a un module pool o 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 Josep Antoni Lopez Moyano, en su ámbito de estudios para el Máster ABAP POO.

✒️+Comunidad Académica CVOSOFT

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

2) Que son las Interfaces? Interfaces: Son estructuras independientes que se pueden implementar en una clase para extender el ambito de esa clase. 3) Definicion de una interface La definicion de las interfaces puede ser globalmente o dentro de programa abap. Dentro del programa ABAP el codigo es el siguiente: INTERFACE <interface>. ..... ENDINTERFACE. Las interfaces no tienen una parte de implementacion ya que susu metodos son implementados en una clase que implementa la interfece. 4) Implementacion de Interfaces componente de una interface <interface~componente>. Implementar metodos de interfaces METHOD <interface~metodo>. .... ENDMETHOD. 5) Referencia a Interfaces definir referencia a una interface: TYPE REF TO <interface>...

Acceder a esta publicación

Creado y Compartido por: Juan Jose Pujol Diaz

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

SAP Expert


Las Interfaces. Que son? Son estructuras independientes que se pueden implementar en una clase para extender el ambito de esa clase. 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 definicion de una interface local es el codigo existente entre las sentencias siguientes INTERFACE <interface> ENDINTERFACE. Las interfaces no tienen una parte de implementacion ya que sus metodos son implementados en la clase que implementa la interface. Cuando se implementa una interface en una clase, los componentes de la interface se añaden al resto de componentes de la seccion publica. Las variables referenciadas permiten acceder a los objetos. En lugar de crear...

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 Expert


Interfaces Introducción a interfaces Las clases, sus instancia (los objetos) y el acceso a los objetos usando variables referenciadas son la base de la programación orientada a objetos en ABAP. Que son las interfaces? Interfaces: Son estructuras independientes que se pueden implementar en una clase para extender el ambito de esa clase. El ambito especificos de una clase viene definido por sus componentes y sus secciones de visibilidad. Los componentes protegidos de una clase definen su ambito en lo que se refiere a sus subclases. Las interfaces extienden el ambito de una clase añadiendo sus propios componentes a la sección publica. Estos permite a los usuarios acceder a diferentes clases por medio de un punto de contacto...

Acceder a esta publicación

Creado y Compartido por: Marvin Raul Lopez Morales / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP SemiSenior

Leccion interfaces. 2. Que son las interfaces?. Son estructuras independientes que se pueden implementar en una clase para extender el ámbito (componentes y visibilidad) de esa clase. Las interfaces extienden el ámbito de una clase añadiendo sus propios componentes a la sección pública. 3. Definición de interfaces. Se pueden definir Globalmente en repositorio R/3 ó localmente.en un programa ABAP entre las sentencias : INTERFASE <interface>. . <declaración de componentes: atributos, metodos y eventos> ...... ENDINTERFACE.. 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...

Acceder a esta publicación

Creado y Compartido por: Rafael Humberto Quintero Pinto

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

SAP Master

U2-L6 Introducción a Interfaces Las clases, sus instancias(objetos) y el acceso a los objetos usando variables referenciadas son la base de la POO en ABAP. Hay veces que se requieren clases similares que proporcionen funcionalidades similares pero codificadas diferente(dan punto de contacto común con usuario). Por ej. dos clases similares "Cuenta corriente" y "Cuenta de ahorro", tienen un método para calcular comisiones del año. Las interfaces y nombres de los métodos son los mismos pero la implementación diferente. El usuario tiene que ser capaz de ejecutar el método para todas las cuentas sin preocuparse del tipo de cada cuenta individual. Con objetos ABAP es posible mediante...

Acceder a esta publicación

Creado y Compartido por: Denisse Adriana Hernandez Trujillo

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

SAP Master

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

Acceder a esta publicación

Creado y Compartido por: Ixhel Magai Lopez Valencia / Disponibilidad Laboral: PartTime + Carta Presentación

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

los componentes de las Interfaces no tienen que ser asignados a ninguna sección de visibilidad ya que automaticamente pertenecen a la sección pública de la clase en la que interface es implementada.

Acceder a esta publicación

Creado y Compartido por: Mehdi Ould El Gadia

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

SAP Expert


Una Interface se utiliza para extender el ámbito de una clase. El ámbito específico de una clase viene definido por sus componentes y sus secciones de visibilidad. Las interfaces junto a 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.

Acceder a esta publicación

Creado y Compartido por: Luis Alfredo Lombardi Pizarro

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

SAP SemiSenior

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. Por ejemplo, podríamos tener dos 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 capaz...

Acceder a esta publicación

Creado y Compartido por: Enrique Horacio Lugo Lander

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

SAP Senior

INTERFACES. Son estructuras independientes que se pueden implementar en una clase para extender el ámbito de esa clase. El ámbito de una clase viene definido por sus componentes y sus secciones de visibilidad. Las interfaces junto con la herencia proporcionan uno de los pilares básicos del polimorfismo. DEFINICIÓN DE INTERFACES Se pueden definir globalmente o localmente similar a las clases. La definición contiene la declaración de todos los componentes (atributos, métodos, eventos) de la interface; se pueden definir los mismos componentes en una interface que en una clase. INTERFACE <nom interface>. ENDINTERFACE. àLa interface no tiene una parte de IMPLEMENTACIÓN ya que...

Acceder a esta publicación

Creado y Compartido por: Elda Martinez Soto

 


 

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