Objectgeoriënteerd programmeren is een van de meest populaire programmeerparadigma's. Dit komt omdat het zowel gegevens als functies modelleert en u laat denken in termen van objecten uit de echte wereld. Klassen zijn een fundamenteel aspect van objectgeoriënteerd programmeren, omdat ze de blauwdruk bieden die u nodig hebt om objecten te maken.
C# is een populaire programmeertaal met meerdere paradigma's, die het objectgeoriënteerde paradigma gebruikt. In dit artikel leert u hoe u klassen in C# maakt en gebruikt.
Een klassenverklaring maken
In C# is een klasse een referentietype, dat de. zal bevatten nul waarde totdat u een nieuw object van de klasse maakt. Om een nieuwe klasse aan te maken in C# heb je verschillende componenten nodig:
- Een toegangsmodificator.
- De klas trefwoord.
- De naam die u aan de klas wilt toewijzen.
- Een paar accolades openen en sluiten (die de attributen, constructors en methoden van de klasse zullen omsluiten).
intern klasKlant{ }
De bovenstaande code maakt een nieuwe klasse aan die toegankelijk is voor andere klassen in dezelfde assembly (compilatiebestand). C# heeft precies zes toegangsmodifiers die u kunt gebruiken om de toegankelijkheidsniveaus van uw klassen, variabelen en methoden te regelen. De zes toegangsmodifiers zijn:
- openbaar: elke klasse (ongeacht zijn assembly) heeft toegang tot de openbare klasse en zijn openbare leden (attributen, constructors en methoden).
- privaat: alleen de privéklas en zijn leden hebben er toegang toe.
- beschermd: alleen afgeleide klassen (kinder- en kleinkinderenklassen) hebben toegang tot de beschermde klasse.
- intern: alleen klassen in dezelfde assembly hebben toegang tot de interne klasse.
- beschermd intern: alleen klassen in dezelfde assembly of een afgeleide klasse van een andere assembly hebben toegang tot de beveiligde interne klasse.
- privé beschermd: alleen afgeleide klassen in dezelfde assembly hebben toegang tot de privé beveiligde klasse.
Kenmerken declareren en openen
Attributen zijn de bouwstenen voor de klassen die u maakt. Ze bevatten gevoelige gegevens en hebben meestal een persoonlijke of beveiligde toegangsmodifier. Om toegang te krijgen tot deze klassen vanuit externe klassen, zou je daarom accessors en mutators (getters en setters) moeten gebruiken.
Met C# kunt u uw attributen, mutators en accessors als volgt declareren:
intern klasKlant
{
// attributen
privaatint ID nummer;
privaat tekenreeks Naam;
privaatdubbele Totaal;// setters
openbaarleegteSetIdNumber(int ID nummer){ deze.IdNumber = IdNummer; }
openbaarleegteNaam instellen(tekenreeksnaam){ deze.Naam = Naam; }
openbaarleegteTotaal instellen(dubbele Totaal){ deze.Totaal = Totaal; }
// getters
openbaarintGetIdNumber(){ opbrengstdeze.ID nummer; }
openbaar snaar GetName(){ opbrengstdeze.Naam; }
openbaardubbeleGetTotal(){ opbrengstdeze.Totaal; }
}
andere populaire objectgeoriënteerde talen gebruik ook de bovenstaande aanpak. Sterker nog, als je wilt Java-klassen maken, moet u de bovenstaande structuur gebruiken. C# heeft nu echter een eenvoudigere manier om attributen en accessors te maken. In C# heeft deze klasse dezelfde functie als die hierboven:
intern klasKlant
{
openbaar int id-nummer { krijgen; set; }
openbare tekenreeks Naam { krijgen; set; }
publiek dubbel Totaal { krijgen; set; }
}
De klasse hierboven bevat wat C# aanroept eigendommen, wat een combinatie is van attributen (velden) en methoden. Met eigendommen, kunt u uw attribuutdeclaratie, mutators en accessorscode met de helft verminderen.
Constructeurs declareren
Constructors zijn een ander fundamenteel aspect van een klasse. Om een object van een klasse te maken, moet je een van zijn constructors aanroepen. Elke constructor heeft een optionele toegangsmodifier en dezelfde naam als zijn klasse. Voor objectgeoriënteerde programmeertalen zijn er over het algemeen drie soorten constructors:
- Standaard constructor: accepteert geen argumenten en geeft elk attribuut een standaardwaarde.
- primaire constructor: heeft een of meer argumenten nodig (afhankelijk van het aantal variabelen in de klasse).
- Kopieer constructor: neemt een andere constructor als argument.
C# heeft een overkoepelende term voor de standaard- en primaire constructors hierboven: instantieconstructors. Deze programmeertaal heeft ook twee andere constructors (privé en statisch). Dit artikel richt zich op de drie traditionele constructeurs.
Standaard constructor
// standaard constructor
openbaar Klant()
{
Id-nummer = 0;
Naam = "onbekend";
Totaal = 0;
}
Primaire Constructor
// primaire constructor
openbaarKlant(int IdNumber, string Naam, string CustomerType, dubbele Totaal)
{
deze.IdNumber = IdNummer;
deze.Naam = Naam;
deze.Totaal = Totaal;
}
Constructor kopiëren
// kopieer constructor
openbaar Klant (klant vorige klant)
{
deze.IdNumber = vorige klant. ID nummer;
deze.Naam = vorige klant. Naam;
deze.Totaal = vorige klant. Totaal;
}
Methoden maken
Methoden zijn geen cruciaal klassenonderdeel, maar ze zijn nuttig. Een klasse kan een of meer methoden hebben. Een methode heeft een toegangsmodifier, een retourtype, een naam en een hoofdtekst.
// methode
openbaar string KlantDetail()
{
opbrengst " ID KAART: " + Id-nummer + " Naam: " + Naam + " Totaal: " + Totaal;
}
De bovenstaande code retourneert een tekenreeksrepresentatie van het klantobject.
Objecten maken
Nadat je een complete klasse hebt gemaakt en deze hebt uitgerust met attributen, constructors en een methode, kun je beginnen met het maken van objecten met behulp van de verschillende constructors. Om een object zonder attributen te maken, kunt u de standaardconstructor gebruiken:
Klant Jan = nieuwe Klant();
De bovenstaande regel code maakt een standaardklant en wijst deze toe aan een variabele met de naam John. Met John, hebt u toegang tot de standaardwaarde van elk klantkenmerk.
Troosten.Schrijf lijn(John.Naam);
Als u de bovenstaande code uitvoert, wordt het volgende afgedrukt in de console:
Onbekend
U kunt ook de John variabele om toegang te krijgen tot elke methode in de klantklasse.
Troosten.Schrijf lijn(John.Klantdetail());
Als u de bovenstaande regel code uitvoert, wordt de volgende uitvoer in de console afgedrukt:
ID: 0 Naam: onbekend Totaal: 0
Om een object met attributen te maken, gebruikt u de primaire constructor:
Klant Jan = nieuwe klant (1001, "John Doe", 250.20);
Troosten.Schrijf lijn(John.Klantdetail());
Als u de bovenstaande code uitvoert, wordt de volgende uitvoer in de console afgedrukt:
ID kaart: 1001 Naam: JohndoeTotaal: 250.2
Om een kopie van het bovenstaande object te maken, kunt u de kopieerconstructor gebruiken:
Klant Johnny = nieuwe Klant (Jan);
Troosten.Schrijf lijn(Johnny.Klantdetail());
Als u de bovenstaande code uitvoert, wordt de volgende uitvoer in de console afgedrukt:
ID kaart: 1001 Naam: JohndoeTotaal: 250.2
Zoals u kunt zien, is de kopie-constructor een kopie van de primaire constructor. De kopieerconstructor kan ook een standaardconstructor als argument gebruiken:
Klant Jan = nieuwe Klant();
Klant Johnny = nieuwe Klant (Jan);
Troosten.Schrijf lijn(Johnny.Klantdetail());
Als u de bovenstaande code uitvoert, wordt de volgende uitvoer in de console afgedrukt:
ID: 0 Naam: onbekend Totaal: 0
Nu kunt u C#-klassen maken en gebruiken
U kunt het objectgeoriënteerde paradigma in C# gebruiken om klassen te definiëren en er objecten van te maken. U kunt voor elke klasse methoden maken die vervolgens kunnen werken op de attributen van hun objecten.
Het objectgeoriënteerde paradigma is echter niet het enige waarmee u vertrouwd moet zijn. De top drie programmeerparadigma's zijn imperatief, objectgeoriënteerd en functioneel.