Wat is een klasse?
Tot nu toe schreven we code in een rechte lijn: variabelen en methoden los van elkaar. Object-georiënteerd programmeren (OOP) is een manier om code te organiseren rond objecten — dingen met eigenschappen en gedrag.
Een klasse is het sjabloon (de mal) voor een object. Een object is een concreet exemplaar van die klasse.
Vergelijk het met AutoCAD: een blok is de klasse (het sjabloon), en elke keer dat je het blok plaatst, maak je een blokreferentie aan — dat is een object.
Een klasse definiëren
class Laag
{
// Eigenschappen (properties)
public string Naam;
public string Kleur;
public bool IsZichtbaar;
// Methode
public void ToonInfo()
{
Console.WriteLine($"Laag: {Naam} | Kleur: {Kleur} | Zichtbaar: {IsZichtbaar}");
}
}
Een object aanmaken (instantiëren)
Laag muurLaag = new Laag();
muurLaag.Naam = "Muren";
muurLaag.Kleur = "Wit";
muurLaag.IsZichtbaar = true;
muurLaag.ToonInfo();
// Laag: Muren | Kleur: Wit | Zichtbaar: True
Meerdere objecten van dezelfde klasse
Laag deurLaag = new Laag();
deurLaag.Naam = "Deuren";
deurLaag.Kleur = "Rood";
deurLaag.IsZichtbaar = false;
Laag[] lagen = { muurLaag, deurLaag };
foreach (Laag laag in lagen)
{
laag.ToonInfo();
}
Klassen zijn ook typen
Net zoals int of string een type is, is jouw eigen klasse ook een type. Je kunt een Laag-parameter in een methode zetten:
void PrintLaag(Laag laag)
{
Console.WriteLine($"Verwerken: {laag.Naam}");
}
PrintLaag(muurLaag);
De drie pijlers van OOP
- Encapsulatie — verberg interne details, toon alleen wat nodig is
- Overerving — een klasse kan eigenschappen en methoden erven van een andere
- Polymorfisme — objecten van verschillende klassen kunnen op dezelfde manier aangesproken worden
We behandelen elk van deze in de komende posts. In de volgende post duiken we dieper in: constructors en properties.
Comments
No comments yet — be the first!
Leave a comment
Sign in to skip moderation — anonymous comments are reviewed before appearing.