Modyfikatory dostępu (specyfikatory) w języku C# z przykładami programów
⚡ Inteligentne podsumowanie
Modyfikatory dostępu w języku C# to słowa kluczowe, które ustawiają widoczność klasy, właściwości lub metody, ograniczając dostęp do nich programów zewnętrznych. Konstruktory automatycznie inicjują wartości pól przy każdym utworzeniu obiektu klasy.

Co to jest modyfikator dostępu (specyfikator) w języku C#?
Modyfikatory dostępu Specyfikatory dostępu w języku C# to słowa kluczowe używane do definiowania widoczności właściwości lub metod klasy. Są one używane, gdy nie chcesz, aby inne programy widziały właściwości lub metody klasy. Modyfikatory dostępu ograniczają dostęp, uniemożliwiając innym programom zobaczenie właściwości lub metod klasy.
W języku C# istnieje 6 typów modyfikatorów dostępu:
- Prywatne
- Publiczne
- Chroniony
- Wewnętrzne
- Chronione wewnętrzne
- Prywatna ochrona
Dowiemy się o głównych modyfikatorach dostępu w C# na przykładach programów, jak wyjaśniono poniżej.
Modyfikatory dostępu prywatnego w C#
Gdy modyfikator dostępu prywatnego jest dołączony do właściwości lub metody, oznacza to, że do tych elementów nie można uzyskać dostępu z żadnego programu zewnętrznego.
Przykład modyfikatora dostępu prywatnego
Weźmy przykład i zobaczmy, co się stanie, gdy użyjemy modyfikatora dostępu prywatnego.
Zmodyfikujmy bieżący kod w naszym pliku Tutorial.cs. W metodzie SetTutorial zmieńmy słowo kluczowe public na private.
Przejdźmy teraz do naszego pliku Program.cs. Zauważysz, że pod metodą SetTutorial znajduje się czerwona falista linia.
Ponieważ zadeklarowaliśmy metodę SetTutorial jako prywatną w naszej klasie Tutorial, Visual Studio to wykryło. Poinformowało użytkownika, podświetlając ją, że teraz ta metoda nie będzie działać z pliku Program.cs.
Modyfikatory dostępu publicznego C#
Gdy modyfikator dostępu publicznego jest dołączony do właściwości lub metody, oznacza to, że dostęp do tych elementów można uzyskać z dowolnego programu zewnętrznego. Widzieliśmy to już w naszych wcześniejszych przykładach.
Przykład modyfikatora dostępu publicznego
Ponieważ w klasie Tutorial zdefiniowaliśmy nasze metody jako publiczne, dostęp do nich można uzyskać z pliku Program.cs.
Chronione modyfikatory dostępu w C#
Gdy modyfikator dostępu chronionego jest dołączony do właściwości lub metody, oznacza to, że dostęp do tych elementów członkowskich można uzyskać tylko za pomocą klasy dziedziczone z prądu klasa. Zostanie to wyjaśnione bardziej szczegółowo w klasie Dziedziczenie.
Modyfikatory dostępu wewnętrznego C#
Gdy modyfikator dostępu wewnętrznego jest dołączony do właściwości lub metody, dostęp do tych elementów członkowskich może uzyskać tylko program wewnętrzny, ale nie program zewnętrzny.
Konstruktor C#
C# Konstruktory służą do inicjowania wartości pól klas podczas tworzenia odpowiadających im obiektów. Konstruktor to metoda, która ma taką samą nazwę jak nazwa klasy. Jeśli w klasie zdefiniowany jest konstruktor, udostępni on pierwszą metodę wywoływaną podczas tworzenia obiektu. Załóżmy, że mamy klasę o nazwie Pracownik. Metoda konstruktora będzie również nosiła nazwę Employee().
Należy zwrócić uwagę na następujące kluczowe kwestie dotyczące metod konstruktora
- Domyślny modyfikator dostępu C# dla konstruktora musi być publiczny.
- Metoda konstruktora nie powinna zwracać typu zwracanego.
Przykład konstruktora C#
Zobaczmy teraz, jak możemy włączyć użytkownika konstruktorów do naszego kodu. Użyjemy konstruktorów do zainicjowania pól TutorialID i TutorialName do niektórych wartości domyślnych podczas tworzenia obiektu.
Krok 1) Pierwszym krokiem jest utworzenie konstruktora dla naszej klasy Tutorial. W tym kroku dodamy poniższy kod do pliku Tutorial.cs.
Code Wyjaśnienie:-
- Najpierw dodajemy nową metodę, która ma taką samą nazwę jak nazwa klasy. Ponieważ ma taką samą nazwę jak klasa, C# traktuje ją jako metodę konstruktora. Zatem teraz, gdy metoda wywołująca utworzy obiekt tej klasy, metoda ta zostanie wywołana domyślnie.
- W konstruktorze Tutorial ustawiamy wartość TutorialID na 0, a TutorialName na „Default”. Zatem za każdym razem, gdy tworzony jest obiekt, pola te zawsze będą miały wartości domyślne.
Przejdźmy teraz do naszego pliku Program.cs i po prostu usuńmy linię wywołującą metodę SetTutorial. Dzieje się tak, ponieważ chcemy po prostu zobaczyć, jak działa konstruktor.
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(); } } }
Code Wyjaśnienie:-
- Pierwszym krokiem jest utworzenie obiektu dla klasy Tutorial. Odbywa się to za pomocą słowa kluczowego „nowy”.
- Używamy metody GetTutorial klasy Tutorial, aby uzyskać TutorialName. Następnie jest on wyświetlany na konsoli za pomocą metody Console.WriteLine.
Jeżeli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlony zostanie następujący komunikat.
Wyjście:
Z danych wyjściowych wynika, że konstruktor rzeczywiście został wywołany i że wartość TutorialName została ustawiona na „Default”.
Uwaga: Tutaj wartość „domyślna” jest pobierana z konstruktora.






