Undersøk klassemedlemmer
Objektorientert programmering (OOP) er et programmeringsparadigme som bruker objekter til å modellere virkelige enheter. I OOP er klasser tegningen for å opprette objekter og definere dataene og virkemåten til disse objektene.
Klasser bruker felt til å definere dataene for et objekt, egenskaper for å kontrollere tilgang til felt og metoder for å definere virkemåten til et objekt.
Selv om egenskaper og metoder ofte får mest oppmerksomhet, inkluderer klasser andre medlemmer som bidrar til å definere struktur og virkemåte. Tabellen nedenfor viser medlemmene i en klasse:
| Medlem | Beskrivelse |
|---|---|
| Felt | Felt er variabler deklarert i klasseomfang. Et felt kan være en innebygd numerisk type eller en forekomst av en annen klasse. En kalenderklasse kan for eksempel ha et felt som inneholder gjeldende dato. |
| Konstanter | Konstanter er felt med verdien angitt på kompileringstidspunktet og kan ikke endres. |
| Egenskaper | Egenskaper er metoder for en klasse som er tilgjengelig som om de var felt i denne klassen. En egenskap kan gi beskyttelse for et klassefelt for å hindre at den endres uten kjennskap til objektet. |
| Metoder | Metoder definerer handlingene som en klasse kan utføre. Metoder kan ta parametere som gir inndata, og kan returnere utdata gjennom parametere. Metoder kan også returnere en verdi direkte, uten å bruke en parameter. |
| Hendelser | Hendelser gir varsler om forekomster, for eksempel knappeklikk eller vellykket fullføring av en metode, til andre objekter. Hendelser defineres og utløses ved hjelp av representanter. |
| Operatører | Overbelastede operatorer regnes som typemedlemmer. Når du overbelaster en operator, definerer du den som en offentlig statisk metode i en type. |
| Indekserere | Indekserere gjør at et objekt kan indekseres på samme måte som matriser. |
| Konstruktører | Konstruktører er metoder som kalles når objektet først opprettes. De brukes ofte til å initialisere dataene for et objekt. |
| Sluttførere | Fullføringer brukes sjeldent i C#. De er metoder som kalles av kjøretidskjøringsmotoren når objektet er i ferd med å bli fjernet fra minnet. De brukes til å sikre at eventuelle ressurser som må frigis, håndteres på riktig måte. |
| Nestede typer | Nestede typer er typer deklarert i en annen type. Nestede typer brukes ofte til å beskrive objekter som bare brukes av typene som inneholder dem. |
Felt, egenskaper, metoder og konstruktører i en klassedefinisjon
Selv om en klassedefinisjon kan inkludere alle medlemmene som er oppført i tabellen, er de vanligste feltene, egenskapene, metodene og konstruktørene. Disse medlemmene danner kjernestrukturen for de fleste klasser i C#, som gir nødvendig datalagring, tilgangsmekanismer, virkemåtedefinisjoner og initialiseringslogikk.
Følgende kodesnutt illustrerer hvordan vanlige klassemedlemmer kan brukes til å definere og implementere en klasse i C#:
public class Person
{
// Fields
private string name;
private int age;
// Properties
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
// Constructors
public Person(string name, int age)
{
Name = name;
Age = age;
}
// Methods
public void Display()
{
Console.WriteLine($"Name: {Name}, Age: {Age}");
}
}
class Program
{
static void Main()
{
Person person = new Person("PersonName", 30);
person.Display();
}
}
Dette eksemplet bruker følgende medlemstyper:
- Felt:
Personklassen har to felt,nameogage, som er private. - Egenskaper: Klassen
Personhar to egenskaper,NameogAge, som gir tilgang til de private feltene. Egenskapene brukergetogsettil å lese og skrive verdiene for feltene. - Konstruktører:
Personklassen har en konstruktør som initialiserer feltenenameogagenår et nyttPersonobjekt opprettes. - Metoder: Klassen
Personhar enDisplaymetode som skriver navnet og alderen på personen til konsollen.
Klassen Program inneholder Main metoden, som fungerer som inngangspunkt for programmet. Metoden Main oppretter et nytt Person objekt, initialiserer det med navnet «John» og alder 30, og kaller deretter person.Display metoden for å skrive personens informasjon til konsollen.