Creación de propiedades para la clase
Creación de propiedades para la clase
Una propiedad en la clase se define, por norma general, mediante dos elementos: una variable de propiedad y un procedimiento de propiedad.
La variable de propiedad, tal y como su nombre indica, es una variable con ámbito privado a nivel de la clase, que se encarga de guardar el valor de la propiedad. Por su parte el procedimiento de propiedad o Property, es el encargado de actuar de puente entre el código cliente y la variable de propiedad, realizando las operaciones de acceso y asignación de valores a dicha variable.
Por lo tanto, para crear una propiedad en nuestra clase, declararemos en primer lugar una variable Private, y en segundo lugar un procedimiento de tipo Property, que consta de dos bloques: Get, para devolver el valor de la variable de propiedad; y Set, para asignárselo. La sintaxis a emplear se muestra en el Código fuente 207.
Public Class Empleado
' declarar una variable de propiedad ' para la propiedad Nombre Private msNombre As String
' declarar el procedimiento Property ' para la propiedad Nombre Public Property Nombre() As String
' bloque Get para devolver ' el valor de la propiedad Get
Return msNombre End Get
' bloque Set para asignar ' valor a la propiedad Set(ByVal Value As String)
msNombre = Value End Set End Property
End Class
Código fuente 207
Cuando declaramos un procedimiento Property, debemos, al igual que en una función, tipificarlo, ya que una de sus labores consiste en la devolución de un valor.
Para devolver el valor, en el bloque Get podemos utilizar la palabra clave Return, seguida del valor de retorno, o bien la sintaxis clásica de asignar el valor al nombre de la función. Nuestra recomendación es el uso de Return por las ventajas explicadas en el tema del lenguaje.
En cuanto a la asignación de valor, el bloque Set utiliza un parámetro con el nombre Value, que contiene el valor para asignar a la propiedad.
Observe el lector que al declarar un procedimiento de este tipo, el IDE de VS.NET crea automáticamente los correspondientes bloques Get y Set, ahorrando ese trabajo al programador.
A la hora de manipular una propiedad desde el código cliente, y como ya habíamos apuntado anteriormente, la diferencia no será notoria, como muestra el Código fuente 208. La única forma de
Programación con Visual Basic .NET © Grupo EIDOS
hacer más patente el uso del procedimiento Property, consiste en ejecutar el programa utilizando el depurador; de esta manera comprobaremos como el flujo de la ejecución salta a los bloques Get y Set al manejar la variable del objeto.
Sub Main() Dim loEmpleado As New Empleado()
' asignar valor a una propiedad loEmpleado.Nombre = "Guillermo"
' mostrar el valor de una propiedad del objeto Console.WriteLine("El valor de la propiedad Nombre es: {0}", _
loEmpleado.Nombre) Console.ReadLine() End Sub
Código fuente 208
Dado que los procedimientos Property no son otra cosa que rutinas de código, también se les denomina métodos de acceso y asignación en el argot OOP.
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