Luokat

Luokat ovat olio-ohjelmoinnin perusosia. Ne kokoavat yhteen jonkin tietyn toiminnallisuuden, jota voidaan käyttää uudestaan.

Oliot ovat luokkien ilmentymiä (instansseja) eli muuttujia, joiden tyyppi on jokin luokka. Jos kirja olisi luokka, voisi "Sinuhe egyptiläinen" olla yksi olio.

Luokan määrittely

Luokan määrittely on muotoa
class LuokanNimi
{
	// luokan jäsenet
}

Luokan jäseniä voivat olla kentät, ominaisuudet, metodit, vakiot, tapahtumat, delegaatit, indekserit, operaattorit, muodostimet sekä hajottimet.

Esimerkki luokasta "Henkilo", jossa on määritelty neljä erilaista jäsentä

class Henkilo
{
	// Ominaisuus
	public string Nimi{ get; set; }

	// Kenttä
	public DateTime SyntymaAika;

	// Muodostin
	public Henkilo()
	{
	}

	// Metodi
	public void SanoNimesi()
	{
		Console.WriteLine("Nimeni on " + Nimi);
	}
}

Jokaisen jäsenen määrittely alkaa tässä esimerkissä määreellä "public", joka tarkoittaa sitä, että jäsen on julkinen eli näkyy luokan ulkopuolelle.

Olion luominen ja käyttö

Käyttäen edellä määriteltyä Henkilo-luokkaa, voimme luoda siitä olioita
// luodaan henkilö, kutsuu muodostinta
Henkilo matti = new Henkilo();
// asetetaan ominaisuuden arvo
matti.Nimi = "Matti Meikäläinen";
// kutsutaan metodia
matti.SanoNimesi();