C# Klasse
En klasser indeholder
- Felter (fields)
- Properties (property)
- Metoder (methods)
Hvert flet/property og metode bliver styret af en access modifier, som styrer synligheden (visibility).
- enten
privateellerpublic, fortæller bare hvem der har adgang til feltet/property eller metoden.
Et felt er ofte/altid private, og skrevet med camelCase. En property er ofte/altid public, og skrevet med PascalCase. Metoder er altid skrevet med PascalCsae.
getters og setters kan benytte value som værdi af property'en. En property kan være auto-implemented, hvor en getter og en setter er nødvendig, hvilket betyder at der ikke behøves være et privat felt til property'en.
En klasse kan have en constructor, som har det samme navn som klassen som metodenavn, denne bliver kaldt når en klasse bliver initialiseret.
constructor overloadinger når der er flereconstructors.construtor chaininger når man kalder enconstructorfra en andenconstructor.
Klassens medlemmer kan være static, hvilket betyder at de er statiske på klassen og kan blive brugt uden der skal laves en ny instans af klassen, og dermed er fælles for alle instanser af klassen. Klassen kan også være static, og dermed gør at hele klassen skal være static.
Eksempel:
public class Person {
// static
public static int MaxAge { get; set; } = 100;
// auto-implemnted property
public string Name { get; set; }
// field
private int age;
// constructor
public Person(string name)
{
Name = name;
}
// constructor overloading
public Person(string name, int age) : this(name)
{
this.age = age;
}
// methods
public void Walk()
{
// do something
}
public void Run()
{
// do something
}
public void Sleep()
{
// do something
}
}