Constructor is een methode die als eerst wordt uitgevoerd als er een object van de klasse wordt gemaakt. Een constructor heeft altijd de zelfde naam als de klasse, als de klasse geen constructor heeft dan wordt er een default constructor aangemaakt en aangeropen. Een klasse kan meerdere constructors hebben voorwaarden daar van is wel dat het aantal argumenten moet verschillen of de datatype van arugmenten moet verschillen ook mag een constructor geen returnwaarde hebben.
[CPP]public class Rechthoek {
public int x, y, breedte, hoogte;
//Constructor
public rechthoek(int x, int y, int hoogte, int breedte) {
this.x = x;
this.y = y;
this.hoogte = hoogte;
this.breedte = breedte;
}
}[/CPP]
Zoals je hier boven ziet hebben de attributen van de klasse en de methodes van de constructor de zelfde namen. Je moet this zien als een verwijzing naar het huidige object. Als een methode een argument heeft met dezelfde naam als een attribuut van de klasse, dan heeft in die methode het argument voorrang.
Dus om toegang te krijgen tot attribuut gebruiken we "this."
this.x zou je kunnen zien als Rechthoek.x
In de afbeelding die je hebt toegevoegd hoef je geen this te gebruiken voor saldo attribuut, omdat de methode geen argument of een variable/object heeft met de naam saldo.
Stel dat je constructor berekeningen als volgt zou hebben uitzien.
[CPP]class berekeningen {
// attributen
double opnemen;
double saldo;
// constructor berekeningen heeft twee argumenten opnemen en saldo
public berekeningen(double opnemen, double saldo) {
this.saldo = saldo;
this.opnemen = opnemen;
}
}[/CPP]
Dan zou je wel this moeten gebruiken, omdat de namen van de argumenten overeenkomen met die van de attributen vandaar dus dat we this moeten gebruiken om te verwijzen naar attributen.