Base keyword
Het base keyword laat ons toe om bij een overriden methode of property in de child-klasse toch te verplichten om de parent-implementatie toe te passen.
Stel dat we volgende 2 klassen hebben in de software van een gastronomisch bedrijf dat restaurants en frituren uitbaat:
class Restaurant
{
protected int Kosten=0;
public virtual void PoetsAlles()
{
Kosten+=1000;
}
}
class Frituur:Restaurant
{
public override void PoetsAlles()
{
Kosten+= (1000 + 500);
}
}
Het poetsen van een Frituur
is duurder (1000 basis + 500 voor ontsmetting) dan een gewoon restaurant. Als we echter later beslissen dat de basisprijs (in Restaurant
) moet veranderen dan moet je ook in alle child-klassen doen. base
lost dit voor ons. De Frituur
-klasse herschrijven we naar:
class Frituur:Restaurant
{
public override void PoetsAlles()
{
base.PoetsAlles(); //eerste basiskost wordt opgeteld
Kosten+=500; //kosten eigen aan frituur worden bijgeteld.
}
}
Last updated