TOC

This article has been localized into Dutch by the community.

Klassen:

Eigenschappen

Eigenschappen (properties) laten je toe om de toegankelijkheid van de variabelen van een klasse te beheren. Het wordt aangeraden om variabelen binnen een klasse op deze manier te benaderen in een objectgeoriënteerde programmeertaal zoals C#. In het hoofdstukken over klassen zagen we het gebruik van zo een eigenschap voor de eerste keer. Een eigenschap lijkt op een combinatie van een variabele en een methode. Je kan geen parameters meegeven, maar je hebt de mogelijkheid om de waarde te bewerken alvorens deze toegewezen wordt aan onze retourvariabele. Een eigenschap bestaat uit 2 delen, de get en de set methode beiden ingekapseld in de eigenschap:

private string color;

public string Color
{
    get { return color; }
    set { color = value; }
}

De get methode retourneert de variabele, terwijl de set methode ervoor zorgt dat er een waarde aan toegwezen wordt. Ons voorbeeld is zeer simpel, maar dit kan uitgebreid worden. Wat je verder nog moet weten over eigenschappen is dat er slecht één methode vereist is (ofwel get, ofwel set). De andere methode is optioneel. Dit laat de gebruiker toe om alleen-lezen en alleen-schrijven eigenschappen te definiëren. Hier een beter voorbeeld waarom eigenschappen nuttig zijn:

public string Color
{
    get 
    {
        return color.ToUpper(); 
    }
    set 
    { 
        if(value == "Red")
            color = value; 
        else
            Console.WriteLine("This car can only be red!");
    }
}

We hebben onze eigenschap nu wat uitgebreid. De color variabele zal nu geretourneerd worden in uppercase karakters, aangezien we de ToUpper() methode toepassen alvorens de waarde te retourneren. Als we kleur proberen instellen zal enkel de waarde "Red" aanvaard worden. Dit voorbeeld is niet extreem nuttig, maar het toont ons wel het potentieel van eigenschappen.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!