Sie sind auf Seite 1von 4

Niveles de acceso en Visual Basic

El nivel de acceso de un elemento declarado es la extensin de la capacidad de acceso a l; es decir, qu cdigo tiene permiso para leer o escribir en l. Est determinado no solamente por cmo se declara el propio elemento, sino tambin por la nivel de acceso del contenedor del elemento. El cdigo que no puede tener acceso a un elemento contenedor no puede tener acceso a ninguno de sus elementos contenedores, incluso aqullos declarados como Public. Por ejemplo, una variable Public de una estructura Private est accesible desde el interior de la clase que contiene la estructura, pero no desde el exterior.

Public
La palabra clave Public (Visual Basic) de la instruccin de declaracin especifica que los elementos son accesibles desde un cdigo en cualquier parte del mismo proyecto, desde otros proyectos que hagan referencia al proyecto y desde un ensamblado generado a partir del proyecto. El cdigo siguiente muestra un ejemplo de declaracin Public. Public Class classForEverybody

Puede utilizar Public solamente en el nivel de mdulo, interfaz o espacio de nombres. Esto es, puede declarar un elemento pblico en el nivel de archivo de cdigo fuente o de nombre de espacio, o dentro de una interfaz, mdulo, clase o estructura, pero no dentro de un procedimiento.

Protected
La palabra clave Protected (Visual Basic) de la instruccin de declaracin especifica que los elementos son accesibles solamente desde dentro de la misma clase o desde una clase derivada de ella. El cdigo siguiente muestra un ejemplo de declaracin Protected. Protected Class classForMyHeirs

Slo puede utilizar Protected en el nivel de clase y slo al declarar un miembro de una clase. Esto es, puede declarar un elemento protegido en una clase, pero no en el nivel de archivo de cdigo fuente o de nombre de espacio, o dentro de una interfaz, mdulo, estructura o procedimiento.

Friend
La palabra clave Friend (Visual Basic) en la instruccin de declaracin especifica que los elementos son accesibles desde dentro del mismo ensamblado, pero no desde fuera del ensamblado. El cdigo siguiente muestra un ejemplo de declaracin Friend. Friend stringForThisProject As String

Puede utilizar Friend solamente en el nivel de mdulo, interfaz o espacio de nombres. Esto es, puede declarar un elemento de tipo amigo en el nivel de archivo de cdigo fuente o de nombre de espacio, o dentro de una interfaz, mdulo, clase o estructura, pero no dentro de un procedimiento.

Protected Friend
Las palabras clave Protected y Friend especifican juntos en la instruccin de declaracin que los elementos son accesibles desde las clases derivadas o desde dentro del mismo ensamblado o ambos. El cdigo siguiente muestra un ejemplo de declaracin Protected Friend. Protected Friend stringForProjectAndHeirs As String Slo puede utilizar Protected Friend en el nivel de clase y slo al declarar un miembro de una clase. Esto es, puede declarar un elemento de tipo amigo protegido en una clase, pero no en el nivel de archivo de cdigo fuente o de nombre de espacio, o dentro de una interfaz, mdulo, estructura o procedimiento.

Private
La palabra clave Private (Visual Basic) de la instruccin de declaracin especifica que los elementos son accesibles solamente desde dentro del mismo mdulo, clase o estructura. El cdigo siguiente muestra un ejemplo de declaracin Private. Private numberForMeOnly As Integer

Slo puede utilizar Private en el nivel de mdulo. Esto es, puede declarar un elemento privado dentro de un mdulo, clase o estructura, pero no en el nivel de archivo de cdigo fuente o de nombre de espacio, dentro de una interfaz o un procedimiento. En el nivel de mdulo, la instruccin Dim sin ninguna palabra clave de nivel de acceso es equivalente a una declaracin Private. No obstante, podra convenirle usar la palabra clave Private para facilitar la lectura y la interpretacin del cdigo.

Modificadores de acceso
Las palabras clave que especifican el nivel de acceso se llaman modificadores de acceso. La tabla siguiente compara los modificadores de acceso.

Modificador de acceso

Nivel de acceso concedido

Elementos que puede declarar con este nivel de acceso

Contexto de declaracin dentro de cual puede utilizar este modificador

Public

Sin restricciones: Cualquier cdigo que puede ver un elemento pblico puede tener acceso a l

Interfaces Mdulos Clases Estructuras Miembros de estructura Procedimientos

Archivo de cdigo fuente Espacio de nombres Interfaz Mdulo Clase

Propiedades Variables miembros Constantes Enumeraciones Eventos Declaraciones externas Delegados Protected De derivacin: El cdigo dentro de la clase que declara un elemento protegido o una clase derivada de l, puede tener acceso al elemento Interfaces Clases Estructuras Procedimientos Propiedades Variables miembros Constantes Enumeraciones Eventos Declaraciones externas Delegados Friend Ensamblado: El cdigo dentro del ensamblado que declara un elemento de tipo de amigo puede tener acceso a l Interfaces Mdulos Clases Estructuras Miembros de estructura Procedimientos Propiedades Variables miembros Constantes Enumeraciones Eventos Declaraciones externas Delegados ProtectedFriend Unin de Protected y Friend: El cdigo dentro de la misma clase o el mismo ensamblado como elemento de tipo amigo protegido o dentro de cualquier clase derivada de la clase del elemento, puede tener acceso a l Interfaces Clases Estructuras Procedimientos Propiedades Variables miembros Constantes Enumeraciones

Estructura

Clase

Archivo de cdigo fuente Espacio de nombres Interfaz Mdulo Clase Estructura

Clase

Eventos Declaraciones externas Delegados Private Contexto de declaracin: El cdigo dentro del tipo que declara un elemento privado, incluso el cdigo dentro de los tipos contenidos, puede tener acceso al elemento Interfaces Clases Estructuras Miembros de estructura Procedimientos Propiedades Variables miembros Constantes Enumeraciones Eventos Declaraciones externas Delegados Mdulo Clase Estructura

Das könnte Ihnen auch gefallen