Modyfikatory dostępu C # (specyfikatory) z przykładem programu

Spisie treści:

Anonim

W tym samouczku nauczysz się:

  • Modyfikatory dostępu
  • Konstruktor

Modyfikatory dostępu

Modyfikatory dostępu lub specyfikatory dostępu w języku C # to słowa kluczowe używane do definiowania widoczności właściwości lub metody klasy. Jest używany, gdy nie chcesz, aby inne programy widziały właściwości lub metody klasy. Modyfikatory dostępu ograniczają dostęp, aby inne programy nie widziały właściwości lub metod klasy.

Istnieją 3 typy modyfikatorów dostępu w języku C #. Nauczymy się modyfikatorów dostępu w C # z przykładem programu, jak wyjaśniono poniżej.

Prywatne modyfikatory dostępu

Gdy ten specyfikator dostępu w C # jest dołączony do właściwości lub metody, oznacza to, że nie można uzyskać dostępu do tych elementów członkowskich z żadnego programu zewnętrznego.

Weźmy przykład i zobaczmy, co się stanie, gdy użyjemy modyfikatora dostępu prywatnego.

Zmodyfikujmy obecny 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ż teraz zadeklarowaliśmy metodę SetTutorial jako prywatną w naszej klasie Tutorial, wykrył to program Visual Studio. Poinformował użytkownika, podświetlając go, że teraz ta metoda nie będzie działać z pliku Program.cs.

Modyfikatory dostępu publicznego

Gdy ten modyfikator dostępu w C # jest dołączony do właściwości lub metody, oznacza to, że dostęp do tych elementów członkowskich można uzyskać z dowolnego programu zewnętrznego. Widzieliśmy to już w naszych wcześniejszych przykładach.

Ponieważ zdefiniowaliśmy nasze metody jako publiczne w klasie Tutorial, można uzyskać do nich dostęp z pliku Program.cs.

Modyfikatory dostępu chronionego

Gdy ten modyfikator dostępu jest dołączony do właściwości lub metody, oznacza to, że dostęp do tych elementów członkowskich mogą uzyskać tylko klasy odziedziczone z bieżącej klasy. Zostanie to wyjaśnione bardziej szczegółowo w klasie Inheritance.

Konstruktor języka 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 konstruktor jest zdefiniowany w klasie, to zapewni pierwszą metodę, która jest wywoływana podczas tworzenia obiektu. Załóżmy, że mamy klasę o nazwie Pracownik. Metoda konstruktora również miałaby nazwę Employee ().

Należy zwrócić uwagę na następujące kluczowe rzeczy dotyczące metod konstruktora

  1. Domyślny modyfikator dostępu C # dla konstruktora musi być publiczny.
  2. Metoda konstruktora nie powinna mieć zwracanego typu.

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 pewnych wartości domyślnych podczas tworzenia obiektu.

Krok 1) Pierwszym krokiem jest utworzenie konstruktora dla naszej klasy Tutorial. W tym kroku dodajemy poniższy kod do pliku Tutorial.cs.

Objaśnienie kodu: -

  1. Najpierw dodajemy nową metodę, która ma taką samą nazwę jak klasa. Ponieważ ma taką samą nazwę jak klasa, C # traktuje ją jako metodę konstruktora. Tak więc teraz za każdym razem, gdy metoda wywołująca utworzy obiekt tej klasy, ta metoda zostanie wywołana domyślnie.
  2. W konstruktorze Tutorial ustawiamy wartość TutorialID na 0, a TutorialName na „Default”. Dlatego za każdym razem, gdy tworzony jest obiekt, pola te zawsze będą miały te wartości domyślne.

Teraz przejdźmy do naszego pliku Program.cs i po prostu usuńmy wiersz, który wywołuje metodę SetTutorial. Dzieje się tak, ponieważ chcemy tylko 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();}}}

Objaśnienie kodu: -

  1. Pierwszym krokiem jest utworzenie obiektu dla klasy Tutorial. Odbywa się to za pomocą słowa kluczowego „nowe”.
  2. Używamy metody GetTutorial klasy Tutorial, aby pobrać TutorialName. Jest to następnie wyświetlane w konsoli za pomocą metody Console.WriteLine.

Jeżeli powyższy kod zostanie wpisany poprawnie i program zostanie wykonany, wyświetlone zostanie następujące wyjście.

Wynik:

Na podstawie danych wyjściowych widać, że konstruktor został rzeczywiście wywołany i że wartość TutorialName została ustawiona na „Default”.

Uwaga: Tutaj wartość „default” jest pobierana z konstruktora.

Podsumowanie

  • Modyfikatory dostępu C # lub specyfikatory dostępu służą do definiowania widoczności właściwości lub metody klasy.
  • Konstruktor służy do inicjowania pól klasy za każdym razem, gdy tworzony jest obiekt.
  • Konstruktor to metoda, która ma takie same nazwy jak sama klasa.