Property

Uit Wikipedia, de vrije encyclopedie
Naar navigatie springen Jump to search

Een property is in bepaalde objectgeoriënteerde programmeertalen een member van een klasse dat tussen een veld en een methode in zit: het is een verkorte notatie om te beschrijven hoe en of een veld opgevraagd en aangepast kan worden. In programmeertalen zonder properties moet dit gedaan worden met accessor- en mutator-methoden die respectievelijk worden gebruikt om een waarde op te vragen en aan te passen.

Enkele programmeertalen, die properties ondersteunen, zijn: C#, D, Object Pascal / Free Pascal, Objective-C 2.0, Python, Vala en Visual Basic.

Voorbeelden[bewerken]

C#[bewerken]

In C# kan een property worden gedefinieerd door de werking van get (opvragen) en set (aanpassen) te specificeren:

class Pen
{
    private int m_Kleur; // private veld
    
    public int Kleur   // public property
    {
        get
        {
            return m_Kleur;
        }
        set 
        {
            m_Kleur = value;
        }
    }
}

De property Kleur kan als volgt gebruikt worden:

Pen pen = new Pen();
int waarde = pen.Kleur; // opvragen
pen.Kleur += 1; // aanpassen

Het aanpassen van de waarde van m_Kleur via property Kleur geeft een nettere syntaxis in vergelijking met de situatie zonder properties:

pen.setColor(pen.getColor() + 1);

Vala[bewerken]

In Vala zijn er verscheidene manieren om properties te noteren. Naast de aanpak die in C# gebruikt kan worden (private veld en een public property), kan men ook de volgende notaties gebruiken:

// definieert een public property met standaard get/set gedrag
public int prop_1 { get; set; }

// definieert een public property met standaard get/set gedrag
// de set is private gemaakt en de standaardwaarde van prop_3 is 42
public int prop_3 { get; private set; default = 42; }