Käytä muunnoksia (määrityksiä) C#:ssa ohjelmaesimerkein

Mikä on Access Modifier (Specifier) ​​C#:ssa?

Pääsyn muokkaajat tai Access Specifiers C#:ssa ovat avainsanoja, joita käytetään määrittämään luokan ominaisuuden tai menetelmän näkyvyys. Sitä käytetään, kun et halua muiden ohjelmien näkevän luokan ominaisuuksia tai menetelmiä. Pääsyn muokkaajat rajoittavat pääsyä, jotta muut ohjelmat eivät näe luokan ominaisuuksia tai menetelmiä.

C#:ssa on 6 tyyppiä pääsyn muokkaajia:

  • yksityinen
  • julkinen
  • Suojattu
  • Sisäinen
  • Suojattu sisäinen
  • Yksityinen suojattu

Opimme tärkeimmistä pääsymäärityksistä C#:ssa alla selitetyillä ohjelmaesimerkeillä.

Yksityisen pääsyn muokkaajat C#:ssa

Kun Yksityinen käyttöoikeus on liitetty joko ominaisuuteen tai menetelmään, se tarkoittaa, että näitä jäseniä ei voida käyttää mistään ulkoisesta ohjelmasta.

Esimerkki Private Access Modifierista

Otetaan esimerkki ja katsotaan, mitä tapahtuu, kun käytämme yksityisen pääsyn muokkausta.

Muokataan nykyistä koodia Tutorial.cs-tiedostossamme. Muutetaan SetTutorial-menetelmässä julkinen avainsana yksityiseksi.

Yksityisen pääsyn muokkaajat

Siirrytään nyt Program.cs-tiedostoomme. Huomaat, että SetTutorial-menetelmän alla on punainen kiemurteleva viiva.

Koska olemme nyt ilmoittaneet SetTutorial-menetelmän yksityiseksi Tutorial-luokassamme, Visual Studio on havainnut tämän. Se on kertonut käyttäjälle korostamalla, että nyt tämä menetelmä ei toimi Program.cs-tiedostosta.

Yksityinen pääsyn muokkaaja

C# Public Access Modifiers

Kun Julkinen käyttöoikeus on liitetty joko ominaisuuteen tai menetelmään, se tarkoittaa, että näitä jäseniä voidaan käyttää mistä tahansa ulkoisesta ohjelmasta. Olemme nähneet tämän jo aikaisemmissa esimerkeissämme.

Esimerkki Public Access Modifierista

C# Public Access Modifiers

Koska olemme määrittäneet menetelmämme julkisiksi Tutorial-luokassa, niitä voi käyttää Program.cs-tiedostosta.

Suojatun pääsyn muokkaajat C#:ssa

Kun suojatun pääsyn muokkaus on liitetty joko ominaisuuteen tai menetelmään, se tarkoittaa, että vain näitä jäseniä voi käyttää luokat peritty nykyisestä luokka. Tämä selitetään tarkemmin Perintöluokassa.

C# sisäisen pääsyn muokkaajat

Kun sisäinen käyttöoikeusmuuttaja on liitetty joko ominaisuuteen tai menetelmään, näitä jäseniä voi käyttää vain sisäinen ohjelma, mutta ei ulkoinen ohjelma.

C#-konstruktori

C# Konstruktoreita käytetään alustamaan luokkakenttien arvot, kun niitä vastaavat objektit luodaan. Konstruktori on menetelmä, jolla on sama nimi kuin luokalla. Jos konstruktori on määritelty luokassa, se tarjoaa ensimmäisen menetelmän, jota kutsutaan, kun objekti luodaan. Oletetaan, että meillä olisi luokka nimeltä Työntekijä. Konstruktorimenetelmän nimi olisi myös Työntekijä().

Seuraavat keskeiset asiat on huomioitava konstruktorimenetelmistä

  1. Rakentajan C#-oletuskäyttöoikeusmuutos on tehtävä julkiseksi.
  2. Konstruktorimenetelmällä ei pitäisi olla palautustyyppiä.

Esimerkki C#-konstruktorista

Katsotaan nyt, kuinka voimme sisällyttää rakentajien käyttäjän koodiimme. Käytämme rakentajia alustamaan TutorialID- ja TutorialName-kentät joihinkin oletusarvoihin, kun objekti luodaan.

Vaihe 1) Ensimmäinen askel on rakentaa Tutorial-luokkaamme. Tässä vaiheessa lisäämme alla olevan koodin Tutorial.cs-tiedostoon.

C#-konstruktori

Koodin selitys: -

  1. Lisäämme ensin uuden menetelmän, jolla on sama nimi kuin luokalla. Koska se on sama nimi kuin luokka, C# käsittelee sitä konstruktorimenetelmänä. Joten nyt aina kun kutsuva menetelmä luo tämän luokan objektin, tätä menetelmää kutsutaan oletusarvoisesti.
  2. Tutorial-konstruktorissa asetamme TutorialID:n arvoksi 0 ja TutorialNamen arvoksi "Default". Joten aina kun objekti luodaan, näillä kentillä on aina nämä oletusarvot.

Siirrytään nyt Program.cs-tiedostoomme ja poistetaan vain rivi, joka kutsuu SetTutorial-menetelmää. Tämä johtuu siitä, että haluamme vain nähdä kuinka rakentaja toimii.

C#-konstruktori

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

Koodin selitys: -

  1. Ensimmäinen vaihe on objektin luominen Tutorial-luokkaan. Tämä tehdään "uusi"-avainsanalla.
  2. Käytämme Tutorial-luokan GetTutorial-menetelmää saadaksemme TutorialNamen. Tämä näytetään sitten konsolissa Console.WriteLine-menetelmän kautta.

Jos yllä oleva koodi on syötetty oikein ja ohjelma suoritetaan, seuraava tulos näytetään.

lähtö:

C#-konstruktori

Tulosteesta voimme nähdä, että rakentajaa todellakin kutsuttiin ja että TutorialName-arvon arvoksi asetettiin "Oletus".

Huomautus: Tässä arvo "oletus" haetaan rakentajalta.

Yhteenveto

  • C# Access Modifiers tai Access Specifiers käytetään määrittämään luokan ominaisuuden tai menetelmän näkyvyys.
  • Kun Yksityinen käyttöoikeus on liitetty joko ominaisuuteen tai menetelmään, se tarkoittaa, että näitä jäseniä ei voida käyttää mistään ulkoisesta ohjelmasta.
  • Kun Julkinen käyttöoikeus on liitetty joko ominaisuuteen tai menetelmään, se tarkoittaa, että näitä jäseniä voidaan käyttää mistä tahansa ulkoisesta ohjelmasta.
  • Kun suojatun pääsyn muokkaaja on liitetty joko ominaisuuteen tai menetelmään, se tarkoittaa, että kyseisiin jäseniin pääsevät vain nykyisestä luokasta perityt luokat.
  • Kun sisäinen käyttöoikeusmuuttaja on liitetty joko ominaisuuteen tai menetelmään, näitä jäseniä voi käyttää vain sisäinen ohjelma, mutta ei ulkoinen ohjelma.
  • C#-konstruktoreita käytetään luokkakenttien arvojen alustamiseen, kun niitä vastaavat objektit luodaan.