Property

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

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

Enkele talen 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 gedefinieerd worden 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; }