Asesoría y capacitación en informática

Modificadores de Visibilidad o Alcance

Al crear una clase por defecto es Pública pero se pueden considerar muchas más visibilidades que propone la programación orientada a objetos no necesariamente a la clase sino a los elementos que la componen con los atributos y métodos de clase.

Tenemos los siguientes alcances:

  • Public (Público): Puede obtener acceso al tipo o miembro cualquier otro código del mismo ensamblado o de otro ensamblado que haga referencia a este.
  • Private (Privado)
    Solamente puede obtener acceso al tipo o miembro el código de la misma clase.
  • Protected (Protegido): Solamente puede obtener acceso al tipo o miembro el código de la misma clase o de una clase derivada.
  • Friend: Puede obtener acceso al tipo o miembro cualquier código del mismo ensamblado, pero no de un ensamblado distinto.
  • Protected Friend: Puede obtener acceso al tipo o miembro cualquier código del mismo ensamblado o cualquier clase derivada de otro ensamblado.

Comparación entre los Modificadores de Visibilidad

ALCANCEMÁXIMO NIVEL DE ACCESOELEMENTOS QUE PUEDE DECLARAR CON ESTE NIVEL DE ACCESOELEMENTOS QUE PUEDE DECLARAR CON ESTE NIVEL DE ACCESO
  PublicSin restricciones: Cualquier código que puede ver un elemento público puede tener acceso a él.Interfaces Módulos Clases Estructuras Miembros de estructura Procedimientos Propiedades Variables miembros Constantes Enumerations Eventos Declaraciones externas DelegadosArchivo de código fuente Espacio de nombres interface Module Class Structure
  ProtectedDe derivación: El código de la clase que declara un elemento protegido o una clase derivada de él, puede tener acceso al elemento.Interfaces Clases Estructuras Procedimientos Properties Variables miembros Constantes Enumerations Eventos Declaraciones externas DelegadosClass
FriendAssembly: El código del ensamblado que declara un elemento de tipo Friend puede tener acceso a él.Interfaces Módulos Clases Estructuras Miembros de estructura Procedimientos Propiedades Variables miembros Constantes Enumerations Eventos Declaraciones externas DelegadosArchivo de código fuente Espacio de nombres Interface Module Class Structure
  ProtectodFriendUnión de Protected y Friend: El código de la misma clase o el mismo ensamblado que el elemento de tipo ProtectedFriend o aquel que está dentro de cualquier clase derivada de la clase del elemento, puede tener acceso a él.Interfaces Clases Estructuras Procedimientos Properties Variables miembros Constantes Enumerations Eventos Declaraciones externas DelegadosClass
PrivateContexto de declaración: El código del tipo que declara un elemento privado, incluido el código de los tipos contenidos, puede tener acceso al elemento.Interfaces Clases Estructuras Miembros de estructura Procedimientos Propiedades Variables miembros Constantes Enumerations Eventos Declaraciones Externas DelegadosModule Class Structure