Cuando desde código cliente trabajamos con objetos, estos ofrecen habitualmente nombres de
propiedades claros y sin notaciones.
En el caso de la clase Empleado tenemos un inconveniente a este respecto con el campo de clase
correspondiente al nombre del empleado, ya que en él utilizamos convenciones de notación para
facilitar el mantenimiento del código, pero por otra parte, estamos contribuyendo a dificultar la
legibilidad de los miembros de la clase desde el código cliente.
Es cierto que podemos obviar las convenciones de notación en el código, pero esto, como ya
comentamos en el apartado sobre convenciones de código, puede hacer que la lectura del programa sea
más complicada.
Como hemos comprobado también en los pasados ejemplos, si utilizamos propiedades, podemos
mantener nuestras normas de notación en cuanto a las variables de la clase, sea cual sea su tipo, y
ofrecer al código cliente, nombres más naturales a través de los procedimientos Property.
Por lo tanto, si en lugar de utilizar un campo de clase para el nombre del empleado, la convertimos en
una propiedad, habremos ganado en claridad de cara al programador usuario de nuestra clase.
Veámoslo en el Código fuente 229.
Module General
Sub Main()
Dim loEmpleado As New Empleado()
' al utilizar un objeto desde código cliente
' siempre es más sencillo manipular la
' propiedad Nombre, que msNombre, en cuanto
' a claridad del código se refiere
loEmpleado.Nombre = "Juan"
End Sub
End Module
Public Class Empleado
' antes usábamos un campo de clase...
'Public psNombre As String <---
' ...pero lo convertimos en una variable de propiedad...
Private msNombre As String
' ...creando su procedimiento de propiedad correspondiente
Public Property Nombre() As String
Get
Return msNombre
End Get
Set(ByVal Value As String)
msNombre = Value
End Set
End Property
End Class
Module General
Sub Main()
Dim loEmpleado As New Empleado()
' al utilizar un objeto desde código cliente
' siempre es más sencillo manipular la
' propiedad Nombre, que msNombre, en cuanto
' a claridad del código se refiere
loEmpleado.Nombre = "Juan"
End Sub
End Module
Public Class Empleado
' antes usábamos un campo de clase...
'Public psNombre As String <---
' ...pero lo convertimos en una variable de propiedad...
Private msNombre As String
' ...creando su procedimiento de propiedad correspondiente
Public Property Nombre() As String
Get
Return msNombre
End Get
Set(ByVal Value As String)
msNombre = Value
End Set
End Property
End Class
Código fuente 229
No hay comentarios:
Publicar un comentario