In deze tutorial leer je-
- Toegang tot modificatoren
- Constructor
Toegang tot modificatoren
Toegangsmodificatoren of Toegangsspecificaties in C # zijn de sleutelwoorden die worden gebruikt om de zichtbaarheid van een klasse-eigenschap of -methode te definiëren. Het wordt gebruikt als u niet wilt dat andere programma's de eigenschappen of methoden van een klasse zien. Toegangsmodificatoren beperken de toegang, zodat andere programma's de eigenschappen of methoden van een klasse niet kunnen zien.
Er zijn 3 soorten toegangsmodificatoren in C #. We zullen toegangsmodificatoren leren in C # met een programmavoorbeeld, zoals hieronder wordt uitgelegd.
Private Access Modifiers
Wanneer deze toegangsspecificatie in C # is gekoppeld aan een eigenschap of een methode, betekent dit dat die leden niet toegankelijk zijn vanuit een extern programma.
Laten we een voorbeeld nemen en kijken wat er gebeurt als we de privétoegangsmodificator gebruiken.
Laten we de huidige code in ons Tutorial.cs-bestand aanpassen. Laten we in de SetTutorial-methode het openbare sleutelwoord wijzigen in privé.
Laten we nu overschakelen naar ons Program.cs-bestand. U zult opmerken dat er een rode kronkelige lijn is onder de SetTutorial-methode.
Aangezien we de SetTutorial-methode nu als privé hebben gedeclareerd in onze Tutorial-klasse, heeft Visual Studio dit gedetecteerd. Het heeft de gebruiker verteld door het te markeren dat deze methode nu niet werkt vanuit het Program.cs-bestand.
Modificatoren voor openbare toegang
Wanneer deze toegangsmodificator in C # is gekoppeld aan een eigenschap of een methode, betekent dit dat die leden toegankelijk zijn vanuit elk extern programma. We hebben dit al gezien in onze eerdere voorbeelden.
Omdat we onze methoden als openbaar hebben gedefinieerd in de klasse Tutorial, zijn ze toegankelijk via het bestand Program.cs.
Beschermde toegangsmodificatoren
Wanneer deze toegangsmodificator is gekoppeld aan een eigenschap of een methode, betekent dit dat die leden alleen toegankelijk zijn voor klassen die zijn geërfd van de huidige klasse. Dit wordt meer in detail uitgelegd in de klasse Overerving.
C # Constructor
Constructors zijn gewend om de waarden van klassevelden te initialiseren wanneer hun corresponderende objecten worden gemaakt. Een constructor is een methode die dezelfde naam heeft als die van de klasse. Als een constructor is gedefinieerd in een klasse, levert deze de eerste methode die wordt aangeroepen wanneer een object wordt gemaakt. Stel dat we een klas hebben met de naam Werknemer. De constructormethode zou ook de naam Employee () krijgen.
De volgende belangrijke dingen moeten worden opgemerkt over constructormethoden
- De standaard C # -toegangsmodificator voor de constructor moet als openbaar worden gemaakt.
- Er mag geen retourtype zijn voor de constructormethode.
Laten we nu kijken hoe we de gebruiker van constructeurs in onze code kunnen opnemen. We zullen constructors gebruiken om de velden TutorialID en TutorialName te initialiseren naar enkele standaardwaarden wanneer het object wordt gemaakt.
Stap 1) De eerste stap is het maken van de constructor voor onze Tutorial-klasse. In deze stap voegen we de onderstaande code toe aan het Tutorial.cs-bestand.
Code Verklaring: -
- We voegen eerst een nieuwe methode toe die dezelfde naam heeft als die van de klasse. Omdat het dezelfde naam is als de klasse, behandelt C # dit als een constructormethode. Dus wanneer de aanroepende methode een object van deze klasse maakt, wordt deze methode standaard aangeroepen.
- In de Tutorial-constructor stellen we de waarde van TutorialID in op 0 en TutorialName op "Default". Dus wanneer een object wordt gemaakt, hebben deze velden altijd deze standaardwaarden.
Laten we nu overschakelen naar ons Program.cs-bestand en gewoon de regel verwijderen, die de SetTutorial-methode aanroept. Dit komt omdat we gewoon willen zien hoe de constructor werkt.
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 Verklaring: -
- De eerste stap is het maken van een object voor de klasse Tutorial. Dit doet u via het trefwoord 'nieuw'.
- We gebruiken de GetTutorial-methode van de Tutorial-klasse om de TutorialName te krijgen. Dit wordt vervolgens weergegeven op de console via de Console.WriteLine-methode.
Als de bovenstaande code correct is ingevoerd en het programma wordt uitgevoerd, wordt de volgende uitvoer weergegeven.
Uitgang:
Uit de uitvoer kunnen we zien dat de constructor inderdaad is aangeroepen en dat de waarde van de TutorialName is ingesteld op "Default".
Opmerking: hier wordt de waarde "default" opgehaald uit de constructor.
Overzicht
- C # Access Modifiers of Access Specifiers worden gebruikt om de zichtbaarheid van een klasse-eigenschap of -methode te definiëren.
- Een constructor wordt gebruikt om de velden van een klasse te initialiseren wanneer een object wordt gemaakt.
- De constructor is een methode die dezelfde naam heeft als de klasse zelf.