Unidad 34. Arrays en VB (III)





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

Octubre-2010
Pág. 34.3

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies