Una de las características de la OOP, la encapsulación, establece que el código de una clase debe
permanecer, siempre que sea posible, protegido de modificaciones no controladas del exterior (código
cliente).
Nuestra clase debe actuar como una especie de caja negra, que expone un interfaz para su uso,
pero que no debe permitir el acceso a la implementación de dicho interfaz.
Supongamos que en nuestra clase Empleado necesitamos crear un elemento para guardar el sueldo
pagado, pero el importe del sueldo deberá estar entre un rango de valores en función de la categoría
del empleado. Si la categoría es 1, el sueldo estará entre 1 y 200, mientras que si la categoría es 2, el
sueldo podrá llegar hasta 300. Si abordamos este problema utilizando campos de clase, puede ocurrir
lo que mostramos en el Código fuente 225.
Module General
Sub Main()
Dim loEmpleado As Empleado
loEmpleado = New Empleado()
loEmpleado.psNombre = "Juan"
loEmpleado.piCategoria = 1
' atención, el sueldo para este empleado
' debería estar entre 1 a 200, debido a su categoría
loEmpleado.pdbSueldo = 250
End Sub
End Module
Public Class Empleado
Public msNombre As String
Public miCategoria As Integer
Public mdbSueldo As Double
End Class
Module General
Sub Main()
Dim loEmpleado As Empleado
loEmpleado = New Empleado()
loEmpleado.psNombre = "Juan"
loEmpleado.piCategoria = 1
' atención, el sueldo para este empleado
' debería estar entre 1 a 200, debido a su categoría
loEmpleado.pdbSueldo = 250
End Sub
End Module
Public Class Empleado
Public msNombre As String
Public miCategoria As Integer
Public mdbSueldo As Double
End Class
Código fuente 225
No hay comentarios:
Publicar un comentario