Wat zijn classes?

Classes, of enkelvoud een class, zijn blauwdrukken of bouwtekeningen voor een object. Hier mee is het dus mogelijk om één of meerdere objecten te instantieren op basis van één class.

Casus

Stel er moeten tien dezelfde soort gebouwen gemaakt worden. Hiervoor maakt de architect één bouwtekening die gebruikt kan worden voor elk van de tien gebouwen.

Hoe zitten classes in elkaar?

Een class heeft twee belangrijke eigenschappen. Ten eerste kan er een object van worden gemaakt. Een object is niets anders dan een implementatie van een class. Daarnaast kunnen classes eigenschappen (properties) en acties (methodes) hebben, die respectievelijk de kenmerken en functies van de class beschrijven. Een method die aangeroepen wordt bij het instantieren van de class heet de construcor.

Om de class zelf aan te spreken, moet de naam van de class worden gebruikt.

Codevoorbeeld

public class Mens  
{  
    // Properties  
    public int Leeftijd { get; private set; }  
    public bool isAlien { get; set; }  
  
    // Constructor  
    public Mens(int leeftijd, bool isAlien)  
    {        
        Leeftijd = leeftijd;  
        this.isAlien = isAlien;  
    }  
 
    // Method  
    public void Jarig()  
    {        
        Leeftijd++;  
    }
}

Hierboven is een voorbeeld gegeven van de class ‘Mens’, waarin twee properties, een constructor en een method zijn gedefinieerd.

Hoe gebruik je classes?

Classes zijn een belangrijk aspect van Object Georiënteerd Programmeren. Voor het aanmaken van objecten is het namelijk belangrijk dat er classes zijn waar deze objecten op gebaseerd zijn. Hier kunnen classes gebruikt worden wanneer een programma ontwikkeld, wordt waarin meerdere objecten voorkomen die vergelijkbare eigenschappen en gedrag hebben, zoals een Gebruiker, Product of een Auto. Classes helpen om code herbruikbaar, overzichtelijk en onderhoudbaar te maken.

Casus

Stel je maakt een applicatie voor een autogarage. In deze applicatie wordt informatie van de auto en de eigenaar opgeslagen. Daarnaast kan de eigenaar van de auto zelf de kilometerstand bijhouden door het aantal door aan te geven hoeveel hij gereden heeft.

Mogelijke uitwerking van de casus

public class Eigenaar  
{  
    public string Naam { get; set; }  
    public Auto Auto { get; set; }  
}  
  
public class Auto  
{  
    public string Kenteken { get; private set; }  
    public string Merk { get; private set; }  
    public int KilometerTeller { get; private set; }  
  
    public Auto(string Kenteken, string Merk)  
    {
	    this.Kenteken = Kenteken;  
        this.Merk = Merk;  
        KilometerTeller = 0;  
    }  
    public void Rijden(int aantalKilometers)  
    {
	    KilometerTeller += aantalKilometers;  
    }
}
 
//maak een nieuwe instantie van de class auto 
Auto mijnAuto = new Auto("HN-TV-66", "Volkswagen");
 
//maak een nieuwe instantie van de class eigenaar en geef die naam en een auto
Eigenaar gerard = new Eigenaar();
gerard.Naam = "Anne";
gerard.Auto = mijnauto;

Volgende stap: Oefeningen klassen