I den här handledningen lär du dig-
- Åtkomstmodifierare
- Konstruktör
Åtkomstmodifierare
Access Modifiers eller Access Specifiers i C # är de nyckelord som används för att definiera synligheten för en klassegenskap eller metod. Den används när du inte vill att andra program ska se egenskaperna eller metoderna för en klass. Åtkomstmodifierare begränsar åtkomst så att andra program inte kan se egenskaper eller metoder för en klass.
Det finns 3 typer av åtkomstmodifierare i C #. Vi lär oss åtkomstmodifierare i C # med programexempel som förklaras nedan.
Modifierare för privat åtkomst
När denna åtkomstspecifikator i C # är kopplad till antingen en egenskap 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 snurrande linje under SetTutorial-metoden.
Eftersom vi nu har förklarat 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 den här metoden nu inte kommer att fungera från Program.cs-filen.
Allmänhetsmodifierare
När denna åtkomstmodifierare i C # är ansluten till antingen en egenskap eller en metod betyder det att dessa medlemmar kan nås från vilket externt program som helst. Vi har redan sett detta i våra tidigare exempel.
Eftersom vi har definierat våra metoder som offentliga i klassen Tutorial kan de nås från Program.cs-filen.
Skyddade åtkomstmodifierare
När denna åtkomstmodifierare är kopplad till antingen en egenskap eller en metod betyder det att dessa medlemmar endast kan nås av klasser som ärvs från den aktuella klassen. Detta kommer att förklaras mer detaljerat i arvsklassen.
C # konstruktör
Konstruktörer används för att initialisera värdena för klassfält när motsvarande objekt skapas. En konstruktör är en metod som har samma namn som klassen. Om en konstruktör definieras i en klass kommer den att tillhandahålla den första metoden som kallas när ett objekt skapas. Antag att om vi hade en klass som heter Anställd. Konstruktormetoden skulle också namnges som anställd ().
Följande viktiga saker måste noteras om konstruktörmetoder
- C # standardåtkomstmodifieraren för konstruktören måste göras offentlig.
- Det ska inte finnas någon returtyp för konstruktormetoden.
Låt oss nu se hur vi kan integrera användaren av konstruktörer i vår kod. Vi kommer att använda konstruktörer för att initialisera fälten TutorialID och TutorialName till vissa standardvärden när objektet skapas.
Steg 1) Det första steget är att skapa konstruktören för vår självstudiekurs. I det här steget lägger vi till koden nedan i filen Tutorial.cs.
Kodförklaring: -
- Vi lägger först till en ny metod som har samma namn som klassen. Eftersom det är samma namn som klassen behandlar C # detta som en konstruktormetod. Så nu när anropsmetoden skapar ett objekt av denna klass kommer den här metoden att anropas som standard.
- 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 ta bort bara raden, som kallar SetTutorial-metoden. Detta beror på 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();}}}
Kodförklaring: -
- Det första steget är att skapa ett objekt för klassen Tutorial. Detta görs via det "nya" nyckelordet.
- Vi använder GetTutorial-metoden i Tutorial-klassen för att få TutorialName. Detta visas sedan på konsolen via Console.WriteLine-metoden.
Om ovanstående kod matas in ordentligt och programmet körs visas följande utdata.
Produktion:
Från utgången kan vi se att konstruktören verkligen anropades och att värdet för TutorialName var satt till "Standard".
Obs: Här hämtas värdet "standard" från konstruktören.
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 initialisera fälten i en klass när ett objekt skapas.
- Konstruktören är en metod som har samma namn som själva klassen.