el 11-29-2018 08:16 AM
Hola, en el desarrollo de nuestra aplicación estoy utilizando orientación a objetos. Me gustaría saber si se puede obtener de manera dinámica (en tiempo de ejecución) una referencia a un objeto y guardarla en un array de referencias de otra clase.
Como ejemplo:
- Clase A: en el cluster privado del control tiene un array de referencias de la clase B.
- Clase B: en el cluster privado del control tiene un control numérico.
- Main.vi: se crean objetos de la clase B y se guarda su referencia en el array de la Clase A. El cómo obtener una referencia única para ese objeto no sé si puede hacer.
No encuentro la forma de obtener una referencia al objeto de la clase de un elemento de un array de manera dinámica, de modo que pueda tener todos los que quiera y no esté limitado a los controles del panel frontal.
De este modo podría trabajar con referencias (intuyo que algo parecido a tener un array de punteros en C++) y cuando quiera modificar un objeto del array no tendría que leer el objeto, cambiar el valor del control y escribir el objeto de la clase B en el array de la clase A, sino que directamente cambiaría el valor.
el 12-07-2018 07:09 PM
fgarciaa,
No estoy seguro de que utilizar referencias a tus objetos sea lo más eficiente para trabajar con ellos (normalmente depende de la complejidad de la arquitectura que estés utilizando).
Si tu objetivo es que la Clase A pueda almacenar objetos de la Clase B para trabajar con ellos, lo más sencillo es que tengas uncluster o arreglo que contenga a todos estos objetos.
Si el objetivo es poder acceder a esos objetos a manera de referencia, puedes usarlos como Data Value References. Sin embargo, éste método es menos eficiente (ya que todas las llamadas a dicho objeto se tienen que hacer hacia la misma locación de memoria). Luego, lo que guardarías en la clase A es el Data Value Reference a el/los objeto/s de la clase B. Más información acá: Reduce Memory with Data References.
Saludos,