Buscando por la pagina de Guille
http://www.elguille.info/
Estuve comprobando las similitudes que tiene en muchas cosas VB.NET con gambas.
Con lo que se puede aplicar lo aprendido a Gambas.No en su totalidad, pero si en la idea
principal.Debemos ser capaz de aprovechar los recursos.Incluso usa ordenes o comandos muy parecidos.
Claro que .NET usa unas formas parecida a Java, tales como si quieres imprimir en la consola.
Primero hace alusión a la consola y luego al método escribir tal que así:
consola.escribir "Hola"
Viéndolo, toma consola como un objeto y su método escribir.
Veréis, estuve viendo los tipos por valor y los tipos por referencia.Que no el paso de parámetros.
En los tipos por valor usamos los tipos primitivos o básicos. ¿ Se les podría llamar así ?.
Entero,cadena,reales,lógicos,fecha,etc.Y fijo que me dejo algo.
Y lo tipos por referencia hacen uso de una clase.Parece que también un array es un tipo por referencia.
Cuestión de comprobarlo.
Vamos al ejemplo.En un ejemplo que pone Guille.Nos muestra primero el tipo por valor:
Tal que así: (Lo abrevio por que no tiene mucho que explicar.)
Como veis se asigna al principio el valor de una variable a la otra.
Y luego se cambia el valor de la primera variable. En este caso, la segunda variable
se quedaría con el primer valor y la segunda variable con el valor nuevo asignado.
Pregunta.¿ Como funcionaran nuestros lenguaje si por lógica, hemos al principio dicho
que el valor de i sea asignado a j ?. ¿ No debería recordarse esto de alguna manera y
que por cada cambio realizado en i sea reflejado en j ?.
La orden se hace al principio y luego no se le vuelve a repetir.
Como es natural, es un valor no una referencia de donde se haya el valor de i.
Ahora hagamos algo parecido con tipos por referencia.
'Clase Prueba
Public nombre As String
'Y en nuestro formulario
Public Sub Form_Open()
Dim a As Prueba
Dim b As Prueba
a = New Prueba
a.nombre = "Juan"
Print "a vale: " & a.nombre
b = a
Print "Hacemos esta asignación: b=a"
Print "a vale " & a.nombre & " b vale " & b.nombre
a.nombre = "Antonio"
Print "Hacemos una nueva asignación a a.Nombre"
Print "a vale " & a.nombre & " b vale " & b.nombre
End
Es el mismo objeto de la clase Prueba, asignado a dos variables.
Lo que se hace en a, repercute a b.
Saludos.