H10 betaalmethodes zeil en motorboten Flashcards
(5 cards)
In de superklasse Boot:
Geeft de basisprijs per uur terug.
Als er een radar is, komt er 5% toeslag bij.
public double prijsPerUur() {
double toeslagRadar = 0.0;
if (radarAanBoord) {
toeslagRadar = basisprijsPerUur * (TOESLAG_PERCENTAGE_RADAR / 100.0);
}
return basisprijsPerUur + toeslagRadar;
}
In Motorboot (subklasse):
Voegt 7% fishfinder-toeslag toe als er een fishfinder is.
JE MOET OP BASISPRIJS(waar geen radar inzit) TOESLAG BEREKENEN
Roept ook super.prijsPerUur() op (dus prijs mét radar) van superklasse
public double prijsPerUur() {
double prijs = super.getBasisprijsPerUur();
double toeslagfishFinder = 0.0;
if (fishFinderAanBoord) {
toeslagfishFinder = prijs * (TOESLAG_PERCENTAGE_FISH_FINDER / 100.0);
}
return super.prijsPerUur() + toeslagfishFinder;
}
In Zeilboot:
Voegt 3% gps-toeslag toe als er GPS is.
JE MOET OP BASISPRIJS(waar geen radar inzit) TOESLAG BEREKENEN
Roept ook super.prijsPerUur() op (dus prijs mét radar) van superklasse
public double prijsPerUur() {
double prijs = super.getBasisprijsPerUur();
double toeslagGps = 0.0;
if (gpsAanBoord) {
toeslagGps = prijs * (TOESLAG_PERCENTAGE_GPS / 100.0);
}
return super.prijsPerUur() + toeslagGps;
}
In Reservatie:
De methode teBetalen() berekent het totaalbedrag
- boot.prijsPerUur() om automatisch het juiste uurtarief van eender welk type boot te gebruiken (radar/fishfinder/gps)
- het aantal uren van de reservatie,
- lid.getKorting() om de juiste korting toe te passen.
public double teBetalen() {
double prijs = boot.prijsPerUur() * aantalUren;
double korting = lid.getKorting();
return (prijs - (prijs * (korting / 100)));
}
✅ super.getBasisprijsPerUur()
✅ super.prijsPerUur()
✅ super.getBasisprijsPerUur() → gebruik je voor de berekening van toeslagen (fishfinder, GPS).
✅ super.prijsPerUur() → gebruik je voor de prijs mét radar, die al in de bovenliggende klasse berekend werd.