C# Access Modifiers (Specifiers) med programexempel

I denna handledning lär du dig-

Åtkomstmodifierare

Åtkomstmodifierare eller Access Specifiers i C# är nyckelorden som används för att definiera synligheten för en klassegenskap eller metod. Det används när du inte vill att andra program ska se egenskaperna eller metoderna för en klass. Åtkomstmodifierare begränsar åtkomsten så att andra program inte kan se egenskaperna eller metoderna för en klass.

Det finns tre typer av åtkomstmodifierare i C#. Vi kommer att lära oss åtkomstmodifierare i C# med programexempel som förklaras nedan.

Privata åtkomstmodifierare

När denna åtkomstspecifikator i C# är kopplad till antingen en egendom eller en metod, betyder det att dessa medlemmar inte kan nås från något externt program.

Låt oss ta ett exempel och se vad som händer när vi använder modifieraren för privat åtkomst.

Låt oss ändra den aktuella koden i vår Tutorial.cs -fil. I SetTutorial -metoden, låt oss ändra det offentliga sökordet till privat.

Låt oss nu byta till vår Program.cs -fil. Du kommer att märka att det finns en röd snirklig linje under SetTutorial -metoden.

Eftersom vi nu har deklarerat SetTutorial -metoden som privat i vår Tutorial -klass har Visual Studio upptäckt detta. Det har berättat för användaren genom att markera det att nu kommer denna metod inte att fungera från Program.cs -filen.

Allmänhetsåtgärder

När denna åtkomstmodifierare i C# är ansluten till antingen en egendom eller en metod, betyder det att dessa medlemmar kan nås från valfritt externt program. Vi har redan sett detta i våra tidigare exempel.

Eftersom vi har definierat våra metoder som offentliga i Tutorial -klassen kan de nås från Program.cs -filen.

Skyddade åtkomstmodifierare

När denna åtkomstmodifierare är ansluten till antingen en egenskap eller en metod, betyder det att dessa medlemmar endast kan nås av klasser som ärvts från den nuvarande klassen. Detta kommer att förklaras mer detaljerat i arvsklassen.

C # Konstruktör

Konstruktörer används för att initiera värdena för klassfält när deras motsvarande objekt skapas. En konstruktör är en metod som har samma namn som klassens. Om en konstruktör definieras i en klass kommer den att tillhandahålla den första metoden som anropas när ett objekt skapas. Anta om vi hade en klass som heter Employee. Konstruktörmetoden skulle också kallas Employee ().

Följande viktiga saker måste noteras om konstruktormetoder

  1. Standardåtkomstmodifieraren C# för konstruktören måste göras offentlig.
  2. Det bör inte finnas någon returtyp för konstruktormetoden.

Låt oss nu se hur vi kan införliva användaren av konstruktörer i vår kod. Vi kommer att använda konstruktörer för att initiera fälten TutorialID och TutorialName till några standardvärden när objektet skapas.

Steg 1) Det första steget är att skapa konstruktören för vår Tutorial -klass. I det här steget lägger vi till koden nedan i filen Tutorial.cs.

Kod Förklaring:-

  1. Vi lägger först till en ny metod som har samma namn som klassens. Eftersom det är samma namn som klassen, behandlar C# detta som en konstruktormetod. Så nu när samtalsmetoden skapar ett objekt av denna klass kommer den här metoden att kallas som standard.
  2. I Tutorial -konstruktören sätter vi värdet på TutorialID till 0 och TutorialName till 'Standard'. Så när ett objekt skapas kommer dessa fält alltid att ha dessa standardvärden.

Låt oss nu byta till vår Program.cs -fil och bara ta bort raden, som kallar SetTutorial -metoden. Detta för att vi bara vill se hur konstruktören fungerar.

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(); } } }

Kod Förklaring:-

  1. Det första steget är att skapa ett objekt för Tutorial -klassen. Detta görs via det 'nya' sökordet.
  2. Vi använder GetTutorial -metoden i Tutorial -klassen för att få TutorialName. Detta visas sedan för konsolen via Console.WriteLine -metoden.

Om koden ovan anges korrekt och programmet körs kommer följande utdata att visas.

Produktion:

Från utgången kan vi se att konstruktorn verkligen kallades och att värdet på TutorialName var inställt på 'Standard'.

Notera: Här hämtas värdet 'standard' från konstruktorn.

Sammanfattning

  • C# Access Modifiers eller Access Specifiers används för att definiera synligheten för en klassegenskap eller metod.
  • En konstruktör används för att initiera fälten i en klass när ett objekt skapas.
  • Konstruktören är en metod som har samma namn som klassen själv.