Skip to content

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 private eller public, 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 overloading er når der er flere constructors.
  • construtor chaining er når man kalder en constructor fra en anden constructor.

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:

c#
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	
	}
}