Comunidad Gambas-es
Clases exportadas - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: General (https://gambas-es.org/forum-4.html)
+--- Tema: Clases exportadas (/thread-730.html)



Clases exportadas - Shell - 17-11-2021

Buenas!.

¿ Qué es una clase exportada ?.

Veréis, estoy probando la clase object. Y creé este ejemplo:

Clase Persona:

Código:
Private $nombre As String
Property nombre As String

Public Sub _new(nom As String)
 
  $nombre = nom
 
End

Private Function nombre_Read() As String

Return $nombre  

End

Private Sub nombre_Write(Value As String)

$nombre = Value  

End

Public Sub DiNombre()
 
  Print "Me llamo " & Me.nombre
 
End

Y el FMain:

Código:
Private grupopersonas As Persona[] = [Object.New("Persona", ["Alberto"]), Object.New("Persona", ["Lucía"])]
Private grupopersonas2 As New Persona[]

Public Sub Form_Open()

MostrarSaludo(grupopersonas)
Print "--------------"

Metodo2()
MostrarSaludo(grupopersonas2)

End

Public Sub MostrarSaludo(grupotmp As Persona[])
 
  Dim unapersona As Persona
 
  For Each unapersona In grupotmp
    unapersona.DiNombre()
  Next
 
End

Public Sub Metodo2()
 
  Dim unapersona As Persona
 
  unapersona = New Persona("Alberto")
  grupopersonas2.Add(unapersona)  
 
  unapersona = New Persona("Lucía")
  grupopersonas2.Add(unapersona)
    
 
End

La salida fue prácticamente igual.
 
Cita: 
Me llamo Alberto
Me llamo Lucía
--------------
Me llamo Alberto
Me llamo Lucía

La posibilidad que me dio Object fue la de poder declarar el objeto en el propio Array.
( En verdad son practicas similares que encuentro con Python y las intento reproducir en Gambas)

Según dice la ayuda de Gambas:
Cita:This routine works exactly like the NEW operator, except that the class name is specified at runtime and not at compile time.

Supongo que esto lo hace más lento.

Ahora dice también:
 
Cita:As the class is specified by name, only exported classes can be instanciated.

¿ Exportadas ?. ¿ Son las del propio desarrollador ?.

Ok, encontré export en la ayuda de Gambas, pero eso suele ser para controles.
 
Cita:Esto significa que la clase será visible desde un programa principal cuando creemos un componente.

Saludos


RE: Clases exportadas - cogier - 18-11-2021

Echa un vistazo a esta clase. Puedes usar 'Export' para añadir una herramienta a la 'ToolBox'.

[Imagen: Marquee1.png]


RE: Clases exportadas - Shell - 18-11-2021

Gracias Cogier.

Ademas he añadido a marcadores el lugar donde se encuentran los proyectos  del foro de GambasOne. Smile
La palabra traducida del lugar del foro a español es como escaparate, vitrina. (ShowCase).
Literalmente, claro.

Saludos


RE: Clases exportadas - cogier - 18-11-2021

Interesante: -
[Imagen: showcase.png]


RE: Clases exportadas - Shell - 19-11-2021

Esta web parece más interesante o puede que "afine" más el significado de la palabra.
 
Cita:La primera definición de escaparate en el diccionario es una vitrina de vidrio utilizada para exhibir objetos en un museo o tienda. Otra definición de escaparate es un entorno en el que todo se puede mostrar de la mejor manera posible. Showcase también es exhibir o exhibir.

Educalingo

Saludos