Creación y manipulación de estructuras

Creación y manipulación de estructuras

===

Creación y manipulación de estructuras

Para crear una estructura, tenemos que utilizar la palabra clave Structure junto al nombre de la estructura, situando a continuación los miembros de la estructura, y finalizándola con la palabra clave End Structure, como muestra el Código fuente 283.

Public Structure DatosBanco Public IDCuenta As Integer Public Titular As String Public Saldo As Integer

End Structure

Código fuente 283

El modo de utilizar una estructura desde el código cliente, consiste en declarar una variable del tipo correspondiente a la estructura, y manipular sus miembros de forma similar a un objeto. En el Código fuente 284, manejamos de esta forma, una variable de la estructura DatosBanco.

Sub Main() Dim lDBanco As DatosBanco lDBanco.IDCuenta = 958 lDBanco.Titular = "Carlos Perea" lDBanco.Saldo = 900

© Grupo EIDOS 20. Elementos compartidos e interfaces

End Sub

Código fuente 284

Como hemos comentado antes, una estructura admite también métodos y propiedades, de instancia y compartidos, al estilo de una clase. Por lo que podemos añadir este tipo de elementos a nuestra estructura, para dotarla de mayor funcionalidad. El Código fuente 285 muestra un ejemplo más completo de la estructura DatosBanco.

Module Module1 Sub Main() ' declarar una variable de la estructura ' y manipularla directamente Dim lDBanco1 As DatosBanco lDBanco1.IDCuenta = 958 lDBanco1.Titular = "Carlos Perea" lDBanco1.DNI = "112233" lDBanco1.Saldo = 900 lDBanco1.Informacion()

Console.WriteLine()

' declaramos una variable de la estructura ' pero aquí la instanciamos antes de ' comenzar a trabajar con ella, para que ' se ejecute su método constructor Dim lDBanco2 As DatosBanco lDBanco2 = New DatosBanco(450) lDBanco2.IDCuenta = 580 lDBanco2.Titular = "Alfredo Peral" lDBanco2.DNI = "556677" lDBanco2.Informacion()

Console.WriteLine()

' en esta ocasión trabajamos con los ' miembros compartidos de la estructura, ' por lo que no es necesario una variable ' con el tipo de la estructura, sino que ' usamos directamente los miembros compartidos Console.WriteLine("La fecha de apertura de la cuenta es {0}", _

DatosBanco.FHApertura) DatosBanco.SaldoMin()

Console.ReadLine() End Sub End Module

Public Structure DatosBanco Public IDCuenta As Integer Public Titular As String Public Saldo As Integer Private mDNI As String Shared FHApertura As Date Shared SaldoMinimo As Integer

' el constructor de una estructura debe definirse con ' parámetros; si no ponemos parámetros hay que declararlo ' como compartido Public Sub New(ByVal liSaldo As Integer)

Saldo = liSaldo End Sub

Programación con Visual Basic .NET © Grupo EIDOS

Public Property DNI() As String Get Return mDNI End Get Set(ByVal Value As String)

mDNI = Value End Set End Property

Public Sub Informacion() Console.WriteLine("Información sobre la cuenta") Console.WriteLine("Código: {0} - Titular: {1} - DNI: {2} - Saldo: {3}", _

IDCuenta, Titular, Me.DNI, Saldo) End Sub

' miembros compartidos de la estructura ' ===================================== ' si el constructor no tiene parámetros ' debe ser compartido (shared), y además, ' los miembros que maneje deben ser también compartidos Shared Sub New()

FHApertura = Now SaldoMinimo = 200

End Sub

' método compartido que devuelve el saldo mínimo Shared Sub SaldoMin()

Console.WriteLine("El saldo mínimo necesario debe ser de {0}", _ SaldoMinimo) End Sub End Structure

Código fuente 285