Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hyui
Hyui
Los modificadores de acceso, como su nombre indica, determinan desde qu� clases se
puede acceder a un determinado elemento. En Java tenemos 4 tipos: public, private,
protected y el tipo por defecto, que no tiene ninguna palabra clave asociada, pero
se suele conocer como default o package-private.
Todos los tipos y miembros de tipo tienen un nivel de accesibilidad que controla si
se pueden usar desde otro c�digo del ensamblado u otros ensamblados. Puede usar los
siguientes modificadores de acceso para especificar la accesibilidad de un tipo o
miembro cuando lo declare:
public
Puede obtener acceso al tipo o miembro cualquier otro c�digo del mismo ensamblado o
de otro ensamblado que haga referencia a �ste.
private
Solamente el c�digo de la misma clase o estructura puede acceder al tipo o miembro
aparte este modificador s�lo puede utilizarse sobre interfaces y clases internas,
no sobre clases o interfaces de primer nivel, dado que esto no tendr�a sentido.
Es importante destacar tambi�n que private convierte los elementos en privados para
otras clases, no para otras instancias de la clase. Es decir, un objeto de una
determinada clase puede acceder a los miembros privados de otro objeto de la misma
clase
protected
Solamente el c�digo de la misma clase, o de una clase derivada de esa clase, puede
acceder al tipo o miembro.
internal
Puede obtener acceso al tipo o miembro cualquier c�digo del mismo ensamblado, pero
no de un ensamblado distinto.
Las clases derivadas no pueden tener mayor accesibilidad que sus tipos base. En
otras palabras, no puede tener una clase p�blica B que derive de una clase interna
A. Si se permitiera, convertir�a A en p�blico, porque todos los miembros protegidos
o internos de A son accesibles desde la clase derivada.
Puede habilitar otros ensamblados concretos para acceder a los tipos internos
mediante InternalsVisibleToAttribute. Para m�s informaci�n, vea Ensamblados de
confianza.
El tipo de cualquier miembro que sea un campo, propiedad o evento debe ser al menos
tan accesible como el propio miembro. Del mismo modo, el tipo devuelto y los tipos
de par�metro de cualquier miembro que sea un m�todo, indizador o delegado deben ser
al menos tan accesibles como el propio miembro. Por ejemplo, no puede tener un
m�todo p�blico M que devuelva una clase C a menos que C tambi�n sea p�blico. Del
mismo modo, no puede tener una propiedad protegida de tipo A si A se declara como
private.
Los operadores definidos por el usuario siempre deben declararse como public. Para
m�s informaci�n, vea Operador (Referencia de C#).
C#
Copiar
// public class:
public class Tricycle
{
// protected method:
protected void Pedal() { }
// private field:
private int wheels = 3;
Otros tipos
Las interfaces declaradas directamente en un espacio de nombres se pueden declarar
como public o internal y, al igual que las clases y las estructuras, su valor
predeterminado es el acceso interno. Los miembros de interfaz son siempre p�blicos
porque el prop�sito de una interfaz es permitir que otros tipos accedan a una clase
o estructura. A los miembros de interfaz no se les puede aplicar ning�n modificador
de acceso.
Los miembros de enumeraci�n siempre son p�blicos y no se les puede aplicar ning�n
modificador de acceso.
Bibliografia
https://docs.microsoft.com/es-es/dotnet/csharp/programming-guide/classes-and-
structs/access-modifiers
http://mundogeek.net/archivos/2009/03/30/modificadores-en-java/