Introduktion till klasser i C#
Klasser är de grundläggande byggstenarna i objektorienterad programmering i C#. De tillåter programmerare att definiera ritningen för att skapa objekt, som är instanser av klassen. Klasser kapslar in data och beteende i en enda enhet, vilket ger ett modulärt och återanvändbart sätt att organisera koden.
Klassdefinition i C#
Klasserna definieras på följande sätt:
// Define a class called 'Person'
class Person
{
// Class variables (also known as fields)
public string Name;
public int Age;
// Class method
public void Greet()
{
Console.WriteLine($"Hello, my name is {Name} and I'm {Age} years old.");
}
}
// Create objects of the 'Person' class
Person person1 = new Person();
person1.Name = "John";
person1.Age = 30;
person1.Greet(); // Output: Hello, my name is John and I'm 30 years old.
Person person2 = new Person();
person2.Name = "Jane";
person2.Age = 25;
person2.Greet(); // Output: Hello, my name is Jane and I'm 25 years old.
- I koden ovan definierar vi en klass som heter 'Person', som har två publika klassvariabler: 'Name' (av typ 'string') och 'Age' (av typen 'int'). Vi har också en offentlig metod som heter 'Greet()' som skriver ut en hälsning med hjälp av variablerna 'Name' och 'Age'.
- För att skapa objekt av klassen 'Person' använder vi nyckelordet 'new' följt av klassnamnet ( 'Person'). Vi tilldelar sedan värden till variablerna 'Name' och 'Age' för varje objekt. Slutligen anropar vi metoden 'Greet()' på varje objekt för att visa hälsningen.
- Klasser ger ett sätt att skapa flera instanser (objekt) med sina egna unika data, vilket gör att man kan skapa så många objekt 'Person' som behövs och få tillgång till deras egenskaper och metoder oberoende.
Slutsats
Klasser ger en grund för att bygga komplexa applikationer med C#, och erbjuder funktioner som konstruktörer för objektinitiering, egenskaper för kontrollerad åtkomst till klassmedlemmar och åtkomstmodifierare för att hantera synlighet. Genom att utnyttja klasser effektivt är det möjligt att skapa modulära, underhållbara och skalbara kodstrukturer.