Supongamos que nos encargan desarrollar una clase llamada Empleado, entre cuyos miembros
tenemos la propiedad Sueldo. Uno de los requerimientos respecto a esta propiedad es que su valor no
debe ser superior a 1000; por ello, en su procedimiento Property, realizamos una validación a tal
efecto, emitiendo un mensaje cuando el sueldo que asignemos sea superior. Ver el Código fuente 330.
Public Class Empleado
' variables de propiedad
Private msNombre As String
Private mdbSueldo As Double
' propiedad Nombre
Public Property Nombre() As String
Get
Return msNombre
End Get
Set(ByVal Value As String)
msNombre = Value
End Set
End Property
' propiedad Sueldo
Public Property Sueldo() As Double
Get
Return mdbSueldo
End Get
' al asignar un valor a la propiedad,
' si el valor es superior a 1000
' mostrar un mensaje y no permitir la
' asignación del sueldo
Set(ByVal Value As Double)
If Value > 1000 Then
Console.WriteLine("Asignación de sueldo incorrecta")
Console.ReadLine()
Else
mdbSueldo = Value
End If
End Set
End Property
End Class
Código fuente 330
Una vez finalizado el desarrollo de la clase, la distribuimos a nuestro cliente. Posteriormente, un nuevo
cliente nos requiere la clase, pero en esta ocasión, aunque necesita la validación sobre la propiedad
Sueldo, no quiere que se muestre el mensaje al sobrepasar el sueldo asignado.
Se nos plantea en este caso un problema, ya que si escribimos una nueva versión de la clase Empleado,
tendremos el trabajo extra de mantener ambas. Para solucionarlo mediante una única versión de la
clase recurriremos a los eventos.
No hay comentarios:
Publicar un comentario