El siguiente es un sencillo ejemplo de clase.
Muy mejorable, pero fácil de entender.
Public Class ClaseVectores
Dim V() As Integer
' Es una variable inicializada, pero no es una propiedad
Private ValorMaximo As Integer = 100
Private Sub New()
' Impedimos que se declare sin recibir el vector en el constructor, new.
End Sub
Public Sub New(ByVal W() As Integer)
ReDim V(W.Length) ' se obliga a recibir un vector en el new.
V = W
End Sub
Public Sub GeneraVector()
Randomize()
Dim X As Integer
While (X) < UBound(V)
V(X) = CInt(Int((ValorMaximo * Rnd()) + 1))
X = X + 1
End While
End Sub
Public Sub VerVector()
Dim X As Integer
While X < UBound(V)
Console.WriteLine("Elemento número {0} valor {1} ", X, V(X))
X = X + 1
End While
End Sub
End Class
En la clase se ha recibido el vector en la inicialización del objeto, por lo que no es necesario recibirlo como argumento a la hora de visualizarlo.
Pero se podía haber hecho lo siguiente.
Public Class ClaseVectores
Public V() As Integer ‘ declaramos public el vector
Pero lo lógico entonces sería anular ésta sobrecarga.
Public Sub New(ByVal W() As Integer)
ReDim V(W.Length) ' se obliga a recibir un vector en el new.
V = W
End Sub
Y entonces el método VerVector sería como sigue.
Public Sub VerVector(ByVal V() As Integer)
Dim X As Integer
While X < UBound(V)
Console.WriteLine("Elemento número {0} valor {1} ", X, V(X))
X = X + 1
End While
End Sub
Obligamos a que nos envíen el vector en el método.
Y todo esto se utiliza como sigue, para el primer formato:
Private Sub Ejemplo()
Dim V(10) As Integer
Dim Objeto As New ClaseVector(V)
Objeto.GeneraVector()
Objeto.VerVector()
Console.ReadKey()
End Sub
O bien si elegimos la opción de no inicializar el objeto enviando el vector
Private Sub Ejemplo()
Dim V(10) As Integer
Dim Objeto As New ClaseVector()
Objeto.GeneraVector(V)
Objeto.VerVector(V)
Console.ReadKey()
End Sub
Esta es otra de las posibilidades para recorrer un vector, utilizándolo como si fuera una colección.
Es un bucle del tipo For, pero en el que se incorpora la sintaxis del tipo “para cada elemento del objeto recorre todos sus elementos”. Aquí en éste caso el elemento es del tipo entero y el objeto es un vector.
Dim X As Integer
For Each X In V
Console.Write(X)
Next
Síguenos en: Facebook Sobre aulaClic Política de Cookies