Standaardargument

Uit Wikipedia, de vrije encyclopedie

In sommige programmeertalen is een standaardargument (ook defaultargument en default argument) een argument dat wordt toegekend aan een parameter van een functie als er geen andere waarde is meegegeven voor die parameter. De functie wordt dan uitgevoerd met dat standaardargument ingevuld voor die betreffende parameter.

Voorbeeld[bewerken | brontekst bewerken]

Een voorbeeld in Python:

def functie(x, y, z=0):
    print(x, y, z)

De parameter z van deze functie heeft een standaardargument, namelijk 0. Bij het aanroepen van deze functie dient een waarde voor x en y meegegeven te worden maar een waarde voor z is optioneel. Als er geen waarde voor z is meegegeven dan wordt de waarde 0 gebruikt.

Deze functie kan nu aangeroepen worden met bijvoorbeeld functie(3, 4) (dit geeft: 3 4 0) en functie(3, 4, 5) (dit geeft: 3 4 5).

Standaardargumenten door middel van overloading[bewerken | brontekst bewerken]

In programmeertalen die geen standaardargumenten ondersteunen, zoals Java, moet men voor elke parameter van een functie een waarde meegeven bij het aanroepen van de functie. Het effect van standaardargumenten kan wel bereikt worden door overloading van methoden. Hierbij maakt men enkele methoden met dezelfde naam en een variërend aantal parameters; de functies met minder parameters roepen dan de methoden met meer parameters aan met al een aantal waarden ingevuld.

Het bovenstaande voorbeeld in Java door middel van overloading:

public void functie(int x, int y, int z) {
    System.out.println(x + " " + y + " " + z);
}

public void functie(int x, int y) {
    functie(x, y, 0);
}

Als functie wordt aangeroepen met twee argumenten dan wordt de gelijknamige functie functie met drie argumenten aanroepen en met 0 ingevuld voor z. Als er wel een waarde voor z wordt meegegeven, dan wordt direct de versie met drie argumenten uitgevoerd. Op deze manier wordt hetzelfde effect bereikt als standaardargumenten,