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.

Modificadores de acceso privado

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.

Modificador de acceso privado

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

Modificadores de acceso público de C#

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

  1. El modificador de acceso predeterminado de C# para el constructor debe hacerse público.
  2. 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.

Constructor de C #

Explicación del código: -

  1. 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.
  2. 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.

Constructor de C #

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: -

  1. El primer paso es crear un objeto para la clase Tutorial. Esto se hace mediante la palabra clave "nueva".
  2. 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:

Constructor de C #

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.

Resum

  • 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.