c# usa modificadores de acceso ( public
, private
, protegido
) para controlar la accesibilidad de los miembros dentro de clases y estructuras. Estos modificadores definen el alcance del que se puede acceder a un miembro de clase (campo, propiedad, método). El modificador static
agrega otra capa de control, definiendo miembros que pertenecen a la clase en sí, no instancias individuales.
Access Modifiers:
public
: miembros declarados como public
son accesibles desde cualquier lugar, dentro del mismo ensamblaje o cualquier otro ensamblaje que lo haga. Esto proporciona la accesibilidad más amplia.
private
: miembros declarados como private
solo son accesibles desde la clase donde se definen. Esto impone una fuerte encapsulación y ocultación de datos.
protegido
: miembros declarados como protegidos
son accesibles dentro de la clase donde se definen, y también dentro de las clases derivadas (clases que heredan de la clase original). Esto permite la herencia y extensión controladas de la funcionalidad.
sin modificador (predeterminado): Si no se especifica el modificador de acceso, el nivel de acceso predeterminado es generalmente interno
. Esto significa que el miembro es accesible solo desde el mismo ensamblaje (proyecto) donde se define.
Modificador estático:
el modificador static
indica que un miembro pertenece a la clase misma, no a ninguna instancia específica de la clase. Los miembros estáticos se comparten en todas las instancias. Se accede a los miembros estáticos utilizando el nombre de clase, no una instancia de objeto. Las clases estáticas no se pueden instanciar.
ejemplo ilustrativo:
public class ExampleClass
{
private int privateVar;
protected int protectedVar;
public int publicVar;
static int staticVar;
public void PublicMethod() { }
private void PrivateMethod() { }
protected void ProtectedMethod() { }
static void StaticMethod() { }
public static void Main(string[] args)
{
ExampleClass instance = new ExampleClass();
instance.publicVar = 10;
instance.PublicMethod();
// instance.privateVar = 20; // Error: private
// instance.PrivateMethod(); // Error: private
ExampleClass.staticVar = 5;
ExampleClass.StaticMethod();
}
}
en este ejemplo, publicVar
y publicMethod
son libremente accesibles. privateVar
y privateMethod
solo son accesibles dentro de exampleclass
. ProtectedVar
y ProtectedMethod
son accesibles dentro de ESPLECLAss
y cualquier clases que herede desde él. staticvar
y staticmethod
se accede directamente a través del nombre de clase.
Aplicaciones prácticas:
Los modificadores de acceso son fundamentales para los principios de diseño orientados a objetos, como la encapsulación y la abstracción. Ayudan a controlar cómo las diferentes partes de su aplicación interactúan, promoviendo el mantenimiento del código y reduciendo los efectos secundarios no deseados. Los miembros estáticos son útiles para funciones de utilidad o constantes que no requieren una instancia de objeto.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3