Modificadores de acceso (especificadores) en C# con ejemplos de programas
ยฟQuรฉ es el modificador de acceso (especificador) en C#?
Modificadores de acceso o Especificadores de acceso en C# son las palabras clave utilizadas para definir la visibilidad de una propiedad o mรฉtodo de clase. Se utiliza cuando no desea que otros programas vean las propiedades o mรฉtodos de una clase. Los modificadores de acceso restringen el acceso para que otros programas no puedan ver las propiedades o mรฉtodos de una clase.
Hay 6 tipos de modificadores de acceso en C#:
- Privado
- Pรบblico
- Robusto
- Interno
- Interno protegido
- Privado Protegido
Aprenderemos sobre los principales modificadores de acceso en C# con ejemplos de programas como se explica a continuaciรณn.
Modificadores de acceso privado en C#
Cuando el modificador de acceso privado se adjunta a una propiedad o a un mรฉtodo, significa que no se puede acceder a esos miembros desde ningรบn programa externo.
Ejemplo de modificador de acceso privado
Tomemos un ejemplo y veamos quรฉ sucede cuando usamos el modificador de acceso privado.
Modifiquemos el cรณdigo actual en nuestro archivo Tutorial.cs. En el mรฉtodo SetTutorial, cambiemos la palabra clave pรบblica a privada.
Ahora pasemos a nuestro archivo Program.cs. Notarรกs que hay una lรญnea ondulada roja debajo del mรฉtodo SetTutorial.
Como hemos declarado el mรฉtodo SetTutorial como privado en nuestra clase Tutorial, Visual Studio lo ha detectado y le ha indicado al usuario, resaltรกndolo, que ahora este mรฉtodo no funcionarรก desde el archivo Program.cs.
Modificadores de acceso pรบblico de C#
Cuando el modificador de acceso pรบblico se adjunta a una propiedad o a un mรฉtodo, significa que se puede acceder a esos miembros desde cualquier programa externo. Ya hemos visto esto en nuestros ejemplos anteriores.
Ejemplo de modificador de acceso pรบblico
Como hemos definido nuestros mรฉtodos como pรบblicos en la clase Tutorial, se puede acceder a ellos desde el archivo Program.cs.
Modificadores de acceso protegido en C#
Cuando el modificador de acceso protegido se adjunta a una propiedad o a un mรฉtodo, significa que solo se puede acceder a esos miembros mediante clases heredadas de la corriente clase. Esto se explicarรก con mรกs detalle en la clase Herencia.
Modificadores de acceso interno de C#
Cuando se adjunta un modificador de acceso interno a una propiedad o a un mรฉtodo, solo un programa interno puede acceder a esos miembros, pero no un programa externo.
Constructor de C #
C# Los constructores estรกn acostumbrados a inicializar los valores de los campos de clase cuando se crean sus objetos correspondientes. Un constructor es un mรฉtodo que tiene el mismo nombre que el de la clase. Si se define un constructor en una clase, proporcionarรก el primer mรฉtodo que se llama cuando se crea un objeto. Supongamos que tuviรฉramos una clase llamada Empleado. El mรฉtodo constructor tambiรฉn se denominarรญa Empleado().
Es necesario tener en cuenta los siguientes aspectos clave sobre los mรฉtodos constructores
- El modificador de acceso predeterminado de C# para el constructor debe hacerse pรบblico.
- No deberรญa haber ningรบn tipo de retorno para el mรฉtodo constructor.
Ejemplo de constructor C#
Veamos ahora cรณmo podemos incorporar el usuario de constructores en nuestro cรณdigo. Usaremos constructores para inicializar los campos TutorialID y TutorialName con algunos valores predeterminados cuando se crea el objeto.
Paso 1) El primer paso es crear el constructor de nuestra clase Tutorial. En este paso, agregamos el siguiente cรณdigo al archivo Tutorial.cs.
Explicaciรณn del cรณdigo: -
- Primero agregamos un nuevo mรฉtodo que tiene el mismo nombre que el de la clase. Debido a que tiene el mismo nombre que la clase, C# lo trata como un mรฉtodo constructor. Entonces, ahora, cada vez que el mรฉtodo de llamada crea un objeto de esta clase, este mรฉtodo se llamarรก de forma predeterminada.
- En el constructor del Tutorial, establecemos el valor de TutorialID en 0 y TutorialName en "Predeterminado". Entonces, cada vez que se crea un objeto, estos campos siempre tendrรกn estos valores predeterminados.
Ahora pasemos a nuestro archivo Program.cs y simplemente eliminemos la lรญnea que llama al mรฉtodo SetTutorial. Esto se debe a que sรณlo queremos ver cรณmo funciona el constructor.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Tutorial
{
public int TutorialID;
public string TutorialName;
public Tutorial()
{
TutorialID=0;
TutorialName="Default";
}
public void SetTutorial(int pID,string pName)
{
TutorialID=pID;
TutorialName=pName;
}
public String GetTutorial()
{
return TutorialName;
}
static void Main(string[] args)
{
Tutorial pTutor=new Tutorial();
Console.WriteLine(pTutor.GetTutorial());
Console.ReadKey();
}
}
}
Explicaciรณn del cรณdigo: -
- El primer paso es crear un objeto para la clase Tutorial. Esto se hace mediante la palabra clave "nueva".
- Usamos el mรฉtodo GetTutorial de la clase Tutorial para obtener el TutorialName. Luego, esto se muestra en la consola a travรฉs del mรฉtodo Console.WriteLine.
Si el cรณdigo anterior se ingresa correctamente y se ejecuta el programa, se mostrarรก el siguiente resultado.
Salida:
En el resultado, podemos ver que efectivamente se llamรณ al constructor y que el valor de TutorialName se estableciรณ en "Predeterminado".
Nota: Aquรญ el valor "predeterminado" se obtiene del constructor.
Resumen
- Los modificadores de acceso o especificadores de acceso de C# se utilizan para definir la visibilidad de una propiedad o mรฉtodo de clase.
- Cuando el modificador de acceso privado se adjunta a una propiedad o a un mรฉtodo, significa que no se puede acceder a esos miembros desde ningรบn programa externo.
- Cuando el modificador de acceso pรบblico se adjunta a una propiedad o a un mรฉtodo, significa que se puede acceder a esos miembros desde cualquier programa externo.
- Cuando el modificador de acceso protegido se adjunta a una propiedad o a un mรฉtodo, significa que solo las clases heredadas de la clase actual pueden acceder a esos miembros.
- Cuando se adjunta un modificador de acceso interno a una propiedad o a un mรฉtodo, solo un programa interno puede acceder a esos miembros, pero no un programa externo.
- Los constructores de C# se utilizan para inicializar los valores de los campos de clase cuando se crean sus objetos correspondientes.






