Un miembro de clase declarado con este modificador, será accesible desde el código de su propia clase
y desde cualquier clase heredada. El Código fuente 261 muestra un ejemplo del uso de Protected
Module Module1
Sub Main()
' con una instancia del objeto Empleado o Administrativo
' no podemos acceder al método VerFecha()
' ya que es Protected
Dim loEmp As Empleado = New Empleado()
loEmp.psNombre = "Pedro Peral"
Dim loAdmin As New Administrativo()
loAdmin.piID = 567
loAdmin.psNombre = "Juan Iglesias"
loAdmin.pdtFecha = "5/9/2002"
loAdmin.AsignarDNI("11223344")
loAdmin.DatosAdmin()
Console.Read()
End Sub
End Module
Public Class Empleado
Public psNombre As String
Public pdtFecha As Date
' los dos siguientes miembros sólo serán visibles
' dentro de esta clase o en sus clases derivadas
Protected psDNI As String
Protected Function VerFecha()
Return pdtFecha
End Function
Public Sub AsignarDNI(ByVal lsDNI As String)
' desde aquí sí tenemos acceso a la variable
' Protected declarada en la clase
Me.psDNI = lsDNI
End Sub
End Class
Public Class Administrativo
Inherits Empleado
Public piID As Integer
Public Sub DatosAdmin()
Console.WriteLine("Datos del administrativo")
Console.WriteLine("Identificador: {0}", Me.piID)
Console.WriteLine("Nombre: {0}", Me.psNombre)
' desde esta clase derivada sí tenemos acceso
' a lo miembtos Protected de la clase padre
Console.WriteLine("Fecha: {0}", Me.VerFecha())
Console.WriteLine("DNI: {0}", Me.psDNI)
End Sub
End Class
Código fuente 261
No hay comentarios:
Publicar un comentario