✒️ABAP POO El Polimorfismo
ABAP POO El Polimorfismo
Leccion Polimorfismo.
Polimorfismo significa que métodos que se llaman exactamente igual pueden comportasen de manera diferente en clases diferentes. Támnien se conoce como Redefinición.
Se usa la adición REDEFINITION en la sentencia METHODS para redefinir un método público ó protegido dependiente de instancia en una subclase y hacer que realice una función más especializada.
Cuando se redefine un método no se puede cambiar su interface, el método mantiene el mismo nombre y la misma interface de parámetros, pero tiene una nueva implementación.
La redefinición en la subclase 'oculta' la implementación original en la superclase. Se puede usar la referencia SUPER -> para acceder al método 'óculto' dentro de un método redefinido.
Programa Ejemplo : *&---------------------------------------------------------------------* *& Report ZPOLIMORFISMO *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zpolimorfismo. *----------------------------------------------------------------------* * CLASS c1 DEFINITION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS c1 DEFINITION. PUBLIC SECTION. METHODS m1 IMPORTING p1 TYPE string. PRIVATE SECTION. DATA a1 TYPE string VALUE `c1: `. ENDCLASS. "c1 DEFINITION *----------------------------------------------------------------------* * CLASS c2 DEFINITION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS c2 DEFINITION INHERITING FROM c1. PUBLIC SECTION. METHODS m1 REDEFINITION. PRIVATE SECTION. DATA a1 TYPE string VALUE `c2: `. ENDCLASS. "c2 DEFINITION *----------------------------------------------------------------------* * CLASS c1 IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS c1 IMPLEMENTATION. METHOD m1. CONCATENATE a1 p1 INTO a1. WRITE / a1. ENDMETHOD. "m1 ENDCLASS. "c1 IMPLEMENTATION *----------------------------------------------------------------------* * CLASS c2 IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS c2 IMPLEMENTATION. METHOD m1. super->m1( p1 ). CONCATENATE a1 p1 INTO a1. WRITE / a1. ENDMETHOD. "m1 ENDCLASS. "c2 IMPLEMENTATION START-OF-SELECTION. DATA oref TYPE REF TO c1. CREATE OBJECT oref TYPE c2. oref->m1( `...` ).
 
 
 
Sobre el autor
Publicación académica de Rafael Humberto Quintero Pinto, en su ámbito de estudios para el Máster ABAP POO.
Rafael Humberto Quintero Pinto
Colombia - Legajo: XN81Z
✒️Autor de: 6 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Rafael Quintero