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
Parts
» Visual branding biro perjalanan alam (1)
» El manifiesto del ensamblado
» Instalación de Visual Studio .NET
» Grabando texto en un fichero
» Principales elementos en nuestro entorno de trabajo
» Manejo de ventanas adicionales del IDE
» Conceptos mínimos sobre depuración
» Comparación de cadenas en base a un patrón. El operador Like
» Uso de paréntesis para mejorar la legibilidad de expresiones
» Sintaxis de un procedimiento Function
» Sobrecarga de procedimientos
» Abordando un problema mediante programación procedural
» Creación de propiedades para la clase
» Encapsulación a través de propiedades
» Creación de métodos para la clase
» Sobrecarga de métodos o polimorfismo, en una misma clase
» Espacios de nombres (namespaces)
» Acceso a espacios de nombre de otros ensamblados
» Herencia y sobre-escritura de métodos
» Diferencias entre sobrecarga y sobre-escritura en base al tipo de enlace
» Ocultamiento de miembros de una clase
» Comportamiento de las palabras clave Me, MyClass y MyBase ante la sobre-escritura de métodos
» Herencia y métodos constructores
» Clases abstractas o no instanciables
» Comprobación del tipo de un objeto y moldeado (casting)
» Destrucción de objetos y recolección de basura
» Creación y manipulación de estructuras
» Estructuras o clases, ¿cuál debemos utilizar?
» Manipulación de cadenas con la clase String
» Optimizando la manipulación de cadenas con la clase StringBuilder
» Extender las funcionalidades de una clase a través de delegados
» La clase EventArgs, o cómo obtener información del objeto emisor del evento
» Obtención de subarrays a partir de un objeto ArrayList
» Manejo básico de colecciones Hashtable
» Operaciones varias con colecciones Hashtable
» Manipulación de valores en una colección Queue
» Implementando un interfaz para crear una nueva colección
» Manipulación estructurada de errores
» La influencia del orden de los manipuladores de excepciones
» Creación de excepciones personalizadas
» Manipulación de archivos mediante File y FileInfo
» Manipulación de archivos mediante Directory y DirectoryInfo
» Monitorización del sistema de archivos con FileSystemWatcher
» Creación de un formulario básico
» Iniciar el formulario desde Main( )
» Codificación de los eventos de controles
» Selección de texto en un TextBox
» Compartiendo código entre controles
» Crear una clase derivada de un control
» Agregar un proyecto con un formulario derivado
» Crear un formulario heredado desde un proyecto independiente
» Creación de menús desde código
» Detectando el estado de finalización
» Crear un proceso de monitorización
» Comportamiento Modal de formularios
» Formularios dependientes y fijos en primer plano
» Dibujo con las clases Graphics y Pen
» Manipulación de los eventos de pintado en la clase Form
» Manipulando el grado de opacidad del formulario
» Integrando elementos. Un visualizador de gráficos
» Comparativa de ADO /ADO .NET
» Arquitectura de datos desconectados
» Una visión general de ADO .NET
» Espacios de nombres y clases en ADO .NET
» Empleo de Data Binding simple para navegar y editar datos
» Configurar por código las propiedades del DataGrid
Show more