Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Acerca De Array Embebidos (Embedded Arrays)

Acerca De Array Embebidos (Embedded Arrays)
Artículo
Responder citando    Descargar mensaje  
Mensaje Acerca De Array Embebidos (Embedded Arrays) 
 
Una pregunta...

Estaba leyendo la documentación de gambas acerca de arrays  y encontré lo siguiente:

An embedded array is an array that is allocated directly inside the object where it is declared.
(Un array embebido es un array que está ubicado directamente dentro de un objeto donde es declarado)

Such an array cannot be shared, and is destroyed with the object.
(Dicho array no puede ser compartido y es destruido junto con el objeto)

An embedded array cannot be public, and you cannot initialize it.
(Un array embebido no puede ser público y no puede ser inicializado)

Ahora bien... En uno de mis proyectos en gambas tengo clases que dentro tienen objects[] y strings[] y si que los puedo inicializar, puedo declararlos como public, los uso y los puedo acceder desde fuera del objeto y demás...

Y funciona de maravillas... Uso gambas 2.23 (no gambas3 donde aparentemente si pueden ser públicos los embbeded arrays....)

Alguien puede esclarecer un poco la situación según su experiencia o conocimiento?!?!



 
santijav - Ver perfil del usuario Enviar mensaje privado  
santijav [ Jueves, 07 Julio 2011, 20:30 ]
 


Acerca De Array Embebidos (Embedded Arrays)
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Acerca De Array Embebidos (Embedded Arrays) 
 
Citar:

Ahora bien... En uno de mis proyectos en gambas tengo clases que dentro tienen objects[] y strings[] y si que los puedo inicializar, puedo declararlos como public, los uso y los puedo acceder desde fuera del objeto y demás...


Cuando declarás Objects[] y Strings[] estás declarando arrays dinámicos que sí son objetos y por lo tanto deben inicializarse (NEW) o asignárseles una referencia a otro objeto array del mismo tipo. Éstos sí pueden ser PUBLIC.

Un array dinámico es un objeto y por tanto cuando se inicializa se reserva un espacio inicial en el heap (montículo) y por ello su cantidad de elementos puede crecer o disminuir bajo demanda.

Un array declarado local (DIM) se almacena en el stack (pila) y obviamente se destruye al concluir la ejecución de la rutina que lo contiene.

Un array embebido es un array estático, no es un objeto y se almacena en la memoria de datos del objeto: un array embebido se declara indicando sus dimensiones (PRIVATE $aEmbededArray [10,8] AS Integer). No recuerdo haber usado este último tipo de array, pero si la documentación dice que sólo pueden ser PRIVATE (y en consecuencia "no se pueden compartir") debe ser así.



 
fabianfv - Ver perfil del usuario Enviar mensaje privado  
fabianfv [ Viernes, 08 Julio 2011, 23:44 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron