Agrupar Clases En Que Tipo De Variable?


Objetivo: Agrupar Clases En Que Tipo De Variable?
buenas,

supongamos que tenemos un programa x, que usa clases....
supongamos que quiero agrupar x clase en un array de clases.... u objetos no se, por eso la pregunta.

pues bien como se agrupan? en que tipo de variable?

variable de objeto[] ?

la pregunta es especifica para agrupar un tipo de clase solo, en un array.... pero también se puede comentar si quisiéramos guardar en un array o agruparlas siendo clases de distinto tipo

saludos.

Objetivo: Re: Agrupar Clases En Que Tipo De Variable?
v3ctor, uhmmm....por ahora me refiero a lo que escribí jguardon en este su mensaje:

https://foro.gambas-es.org/show_post.php?p=33276

Perfil MP  
Objetivo: Re: Agrupar Clases En Que Tipo De Variable?
Efectivamente, puedes crear un array Object[] que contenga diferentes instancias de una clase, de la misma clase, puesto que no tiene sentido mezclar tipos diferentes dentro del mismo array.

También podrías usar colecciones, aunque depende del uso que vayas a darle, siempre serán más rápidos los arrays dinámicos.

Saludos

Perfil MP  
Objetivo: Re: Agrupar Clases En Que Tipo De Variable?
Generalmente una Clase (...o mejor: más objetos de una Clase) puede ser agrupada en una variable vectorial de su mismo tipo.

Por lo que se rifiere a la agregación de dos o más Clases de tipo diferente, tu puede usar:
- una Collection (como ha dicho jguardon);
- una variable array de tipo Variant[ ];
- una Estructura.

En este ejemplo creamos 4 botones y 4 label.
Luego agregamos los 4 botones en una variable array de tipo Button[ ], y las 4 Label en una variable array de tipo Label[ ] .
Tambien agregamos cada objeto (4 botones y 4 Label) juntos en una variable de tipo Variant[ ].

En fin las dos primeras variables array serán agregadas en una sola variable de tipo Variant[ ].

Public Sub Form_Open()

Dim b As Byte
Dim bt As Button
Dim botones As New Button[]
Dim lb As Label
Dim llbb As New Label[]
Dim todo As New Variant[]
Dim arraydearray As New Variant[]

' Creamos y luego agrupamos 4 botones en un array de tipo "Button[]":
For b = 1 To 4
With bt = New Button(Me)
.W = 60
.H = 30
.X = .W * b
.Y = 50
.Name = "Button " & CStr(b)
.Text = .Name
End With
botones.Push(bt)
todo.Push(bt)
Next

Print botones.Count

' Creamos y luego agrupamos 4 label en un array de tipo "Label[]":
For b = 1 To 4
With lb = New Label(Me)
.W = 60
.H = 30
.X = .W * b
.Y = 100
.Name = "Label " & CStr(b)
.Border = Border.Dotted
.Alignment = Align.Center
.Text = .Name
End With
llbb.Push(lb)
todo.Push(lb)
Next

Print llbb.Count
Print

' A ver el nombre de los objetos ensertados en el array "todo":
For b = 0 To todo.Max
Print todo[b].Name
Next


' Agrupamos los dos array en un array de tipo "Variant[]":
With arraydearray
.Push(botones)
.Push(llbb)
End With
Print
' Vamos a ver el testo de la 3^ Label:
Print arraydearray[1][2].Text

End

última edición por vuott el Lunes, 18 Julio 2016, 20:35; editado 3 veces
Perfil MP  
Objetivo: Re: Agrupar Clases En Que Tipo De Variable?
esto es posible....

clase CuboMovil


dim GrupoCuboMovil as new CuboMovil[]


?????

Objetivo: Re: Agrupar Clases En Que Tipo De Variable?
v3ctor escribió: [Ver mensaje]
esto es posible....

?????


Practicamente sì.

A ver un ejemplo muy muy sencillo.

Tenemos una Clase secundaria, llamada v3ctor:
' gambas class file



Public Sub Calculus(i As Integer) As Integer

Return i * 100

End



La Clase principal es esta:
Public v3 As V3ctor


Public Sub Form_Open()

Dim vv33 As New V3ctor[]
Dim i As Integer


v3 = New V3ctor

vv33.Push(v3)

i = vv33[0].Calculus(4)

ValueBox1.Value = i

End

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.2014s (PHP: -36% SQL: 136%)
Consultas SQL: 30 - Debug off - GZIP Activado