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

 X 

✒️ABAP POO Friends

ABAP POO Friends

ABAP POO Friends

FRIENDS

ADICION FRIENDS, para qué y cómo se implementa.

En los lenguajes POO el acceso a los componentes privados y protegidos, ya sean atributos o métodos, está prohibido.

FRIENDS permite dar acceso a atributos protegidos y privados de otra clase.

Esta Adición que se agrega en una clase permite a otra clase que pueda acceder a sus componentes protegidos y privados.

La adición FRIENDS se debe agregar a la clase cuyos atributos necesitan ser accedidos.

CLASS lcl_clase1 DEFINITION FRIENDS lcl_clase2.

ENDCLASS.

Por ejemplo, declaramos la clase local (LCL) LCL_ME y queremos que otra clase local (LCL) LCL_AMIGA pueda acceder a los componentes de la clase LCL_ME, se haría de este modo:

CLASS lcl_me DEFINITION FRIENDS lcl_friend.

PRIVATE SECTION.

……DATA: a1 TYPE string VALUE ‘Soy A1 de la clase LCL_ME’.

ENDCLASS.

Otro ejemplo.

Definimos la clase LCL_AMIGA y la clase LCL_MIA que será la FRIEND de LCL_AMIGA, de modo que el método ACCESO_A1_DELA_CLASE1 acceda a los componentes privados de la clase LCL_MIA:

CLASS lcl_amiga DEFINTION.

…PUBLIC SECITON.

……METHODS: acceso_a1_dela_clase1.

ENDCLASS.

CLASS lcl_mia DEFINITION FRIENDS lcl_amiga.

…PRIVATE SECTION.

……DATA: a1 TYPE string VALUE ‘Soy A1 de la clase LCL_ME’.

ENDCLASS

CLASS lcl_amiga IMPLEMENTATION.

…METHOD acceso_a1_dela_clase1.

……DATA: lo_clase1 TYPE REF TO lcl_mia.

……CREATE OBJECT lo_clase1.

……WRITE: /lo_class1->a1.

…ENDMETHOD.

ENDCLASS.

START-OF-SELECTION.

…DATA: lofrien TYPE REF TO lcl_friend.

…CREATE OBJECT lo_friend.

…lo_friend->acceso_a1_dela_clase1( ).

También se puede especificar la adición FRIEND usando una interface como amiga. Si hacemos esto entonces todas las clases que implementen la interface, tendrán acceso garantizado a la clase.

INTERFACE lif_friend.

…METHODS: acceso_a1_dela_clase1.

ENDINTERFACE.

CLASS lcl_frined DEFINITION.

…PUBLIC SECTION.

……INTERFACES: lif_friend.

ENDCLASS.

CLASS lcl_friend2 DEFINTION.

…PUBLIC SECTION.

……INTERFACES: lif_friend.

ENDCLASS

CLASS lcl_me DEFINTION FRIENDS lif_friend.

…PRIVATE SECTION.

……DATA: a1 TYPE string VALUE ‘Soy A1 de la clase LCL_ME’.

ENDCLASS

CLASS lcl_friend IMPLEMENTATION.

…METHOD lif_friend~access_a1_dela_clase1.

……DATA: lo_clase1 TYPE REF TO lcl_me.

……CREATR OBJETC lo_class1.

……WRTIE: / ‘Accedemos a A1 de la clase LCL_FRIEND a través de LIF_FRIEND’.

……WRITE: / lo_clase1->a1.

…ENDMETHOD.

ENDCLASS

CLASS lcl_friend_2 IMPLEMENTATION.

…METHOD lif_friend~access_a1_dela_clase1.

……DATA: lo_clase1 TYPE REF TO lcl_me.

……CREATR OBJETC lo_class1.

……WRTIE: / ‘Accedemos a A1 de la clase LCL_FRIEND_2 a través de LIF_FRIEND’.

……WRITE: / lo_clase1->a1.

…ENDMETHOD.

ENDCLASS

START-OF-SELECTION.

DATA: lo_friend TYPE REF TO lif_friend.

CREATE OBJECT lo_friend TYPE lcl_friend.

lo_friend ->acceso_a1_dela_clase1( ).

CREATE OBJECT lo_friend TYPE lcl_friend2.

NOTA: las subclases de la clase local LCL_ME no son amigas, es decir no heredan la adición FRIENDS de su superclase.

La relación de amistad entre calases debe usar con mucha precaución. La relación de amistad son unilaterales. Una clase que es amiga de otra clase no es amiga de las clases amigas de la otra clase.

Si na clase es amiga de object, tendrá acceso a todas las clases.

Lo normal es ser amiga de clases finales.


 

 

 


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 "Friends" de la mano de nuestros alumnos.

SAP Expert


Friends: es una adición que se agrega a una clase para que otra clase pueda acceder a sus componentes protegidos y privados. Se define mediante CLASS DEFINITION FRIENDS - ENDCLASS.

Acceder a esta publicación

Creado y Compartido por: Daniel Alejandro Monteros Segura

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

FRIENDS adicion que se agrega en una clase para permitir que otra clase pueda acceder a sus componetes protegidos o privados. CLASS lcl_class1 DEFINITION FRIENDS lcl_class2 ... ... ENDCLASS.

Acceder a esta publicación

Creado y Compartido por: Juan Jose Pujol Diaz

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

SAP Expert


Friends: Adición que se agrega en una clase para permitir que otra clase pueda acceder a sus componentes protegidos y privados. ¿Para qué se utiliza? A veces es ventajoso dar acceso a los atributos protegidos y privados de otra clase a través de la adición Friends. Esta adición se debe agregar en la clase cuyos atributos necesitan ser accedidos. Nomenclatura: CLASS lcl_class1 DEFINITION FRIENDS lcl_class2. … ENDCLASS. También podemos especificar una interface como “Amiga” de una clase. Si se hace esto, todas las clases que implemente la interface tendrán el acceso garantizado a la clase. CLASS lcl_me DEFINITION FRIENDS lif_friend. END CLASS.

Acceder a esta publicación

Creado y Compartido por: Luis Alfredo Lombardi Pizarro

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

SAP Expert


FRIENDS: Adicion que se agrega en una clase para permitir que otra clase pueda acceder a sis componentes protegidos y privados. Se agregará en la clase cuyos atributos necesitan ser accedidos: CLASS clase1 DEFINITION FRIENDS clase2. ... .. ENDCLASS. También se puede especificar una interface como AMIGA de una clase, con lo que garantizamos el acceso a la clase a...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio De Tejada Santiago / Disponibilidad Laboral: FullTime

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

SAP Expert


Friends. Que es? Adicion que se agrega en una clase para permitir que otra clase pueda acceder a sus componentes protegidos y privados. En cualquier lenguaje de programacion orientado a objetos el acceso a los componentes privados y protegidos ya sea a los atributos o a los metodos se encuentra prohibido, para acceder a ellos por medio de la adicion FRIENDS. De no realizarse este acceso, el compilador generara un error de sintaxis. La adicion se debe agregar en la clase cuyos atributos necesitan ser accedidos. Tambien se puede especificar una interface como amiga de una clase. Si se realiza esto todas las clases que implementen la interface tendran acceso garantizado a la clase.

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


FRIENDS – LECCION 2-8 ¿PARA QUE SE UTILIZA LA ADICION FRIENDS Y COMO SE IMPLEMENTA? En cualquier lenguaje de programación orientado a objeto el acceso a los componentes privados y protegidos, ya sea a los atributos o a los métodos, se encuentra prohibido Si alguien trata de acceder a ellos, el compilador generara un error de sintaxis A veces, puede ser ventajoso dar acceso a los atributos protegidos y privados de otra clase. Esto puede lograrse utlizando la adicion FRIENDS FRIENDS, adicion que se agrega en una clase para permitir que otra clase pueda acceder a sus componentes protegidos y privados Esta adicion se debe agregar en la clase cuyo atributo necesitan ser accedidos La nomenclatura para establecer la relación...

Acceder a esta publicación

Creado y Compartido por: Cristian Darwin Arteaga Diaz / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

U2-L8 Uso de adición FRIENDS y como se implementa. Adición que se agrega a una clase para permitir que otra clase pueda acceder a sus componentes protegidos y privados. La adición se agrega en la clase cuyos atributos necesitan ser accedidos. CLASS lcl_class1 DEFINITION FRIENDS lcl_class2. ... .. ENDCLASS. En el siguiente ej; La clase local LCL_FRIEND denominada 'amiga' podrá acceder a los componentes de la clase local LCL_ME: CLASS lcl_me DEFINITION FRIENDS lcl_friend. PRIVATE SECTION. DATA: a1 TYPE string VALUE 'Soy A1 de la clase LCL_ME'. ENDCLASS. El método ACCESS_A1_OF_CLASS1 de clase LCL_FRIEND accederá a componentes privados de LCL_ME. CLASS lcl_friend DEFINITION....

Acceder a esta publicación

Creado y Compartido por: Denisse Adriana Hernandez Trujillo

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

SAP SemiSenior

FRIENDS (Relaciones de Amistad) Definición de relaciones de amistad. En algunos casos, las clases tienen que trabajar tan estrechamente que una clase necesita acceder a los componentes protegidos y privados de otras clases. Del mismo modo, es posible que una clase pueda crear instancias de otras clases sin importar la visibilidad del constructor. Para evitar que estas opciones estén disponibles para todos los usuarios de la clase, utilice el concepto de clase de amistad. Una clase puede garantizar amistad a otras clases e interfaces y, por lo tanto, a todas las clases que implementen la interfaz. Para crear la amistad, utilice el suplemento FRIENDS de la sentencia CLASS o la pestaña FRIENDS en el generador de clases. Todas...

Acceder a esta publicación

Creado y Compartido por: Enrique Horacio Lugo Lander

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

SAP Master

La adicion FRIENDS y su implementacion. En cualquier lenguaje de POO el acceso a los components privados y protegidos ya sea a atributos o metodos se encuentran prohibidos. A veces puede ser de gran ayuda acceder a los atributos/métodos protegidos o privados, esto se puede lograr utilizando la adición FRIENDS. “FRIENDS Es una adición que se agrega en una clase para permitir que otra clase pueda acceder a sus componentes privados o protegidos.” CLASS <name> DEFINITION FRIENDS <fclassname>… ENDCLASS. Si declaramos la clase local LCL_ME y deseamos que otra clase local LCL_FRIEND , para acceder a los componentes de LCL_ME deberíamos escribir la sgte adición. INTERFACE LIF_FRIEND....

Acceder a esta publicación

Creado y Compartido por: Tobias Emanuel Mareco Rojas / Disponibilidad Laboral: FullTime

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

SAP Expert



FRIENDS ADICION FRIENDS, para qué y cómo se implementa. En los lenguajes POO el acceso a los componentes privados y protegidos, ya sean atributos o métodos, está prohibido. FRIENDS permite dar acceso a atributos protegidos y privados de otra clase. Esta Adición que se agrega en una clase permite a otra clase que pueda acceder a sus componentes protegidos y privados. La adición FRIENDS se debe agregar a la clase cuyos atributos necesitan ser accedidos. CLASS lcl_clase1 DEFINITION FRIENDS lcl_clase2. … … ENDCLASS. Por ejemplo, declaramos la clase local (LCL) LCL_ME y queremos que otra clase local (LCL) LCL_AMIGA pueda acceder a los componentes de la clase LCL_ME, se haría de este...

Acceder a esta publicación

Creado y Compartido por: Josep Antoni Lopez Moyano

 


 

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