¿Qué es la asociación y cómo se usa?
Con asociación nos referimos a una relación entre las clases u objetos.
La asociación es una conexión entre clases, que implica la existencia de una relación estructural entre objetos de esas clases.
Con asociación tienen sentido las frases “Tiene un”, “Usa un”, “Posee un”.
Por ejemplo, si tenemos la clase CL_UNIVERSIDAD que tiene un atributo del tipo CL_EMPLEADO, podemos decir que la “Universidad tiene un Empleado”.
CLASS cl_empleado DEFINITION.
ENDCLASS.
CLASS cl_universidad DEFINITION.
PRIVATE SECTION.
DATA: empleado TYPE REF TO cl_empleado.
ENDCLASS.
Los dos objetos pueden existir independientemente, no es una condición de que los objetos se creen a la vez. Son dos objetos que en un momento dado se unen para trabajar juntos. En algún momento el atributo EMPLEADO se va actualizar en la clase CL_UNIVERSIDAD.
Para entenderlo mejor, implementamos la asociación utilizando las clases CL_ALUMNO y CL_COLEGIO. La última clase tiene el método MATRICULAR_ALUMNO que utiliza como parámetro IMPORTING un objeto de la clase CL_ALUMNO. La primera clase tiene en la sección pública el atributo NOMBRE y un método que actualiza el atributo.
Utilizamos un programa ejecutable y comprobamos el desarrollo utilizando referencias de las clases creadas en el evento START_OF_SELECTION.