Byg en klasse med en regel
Lav en klasse Konto, hvor saldoen kun kan ændres gennem metoder, og hvor man ikke kan hæve mere, end der står. Øvelsen er indkapsling i praksis og går direkte på det, der bliver spurgt om til den mundtlige eksamen.
Det sidste tjek er selve pointen med indkapsling: der findes ingen vej uden om metoderne. Har du kun en getter og ingen setter, kan saldoen simpelthen ikke sættes udefra, og så kan reglen om dækning ikke omgås.
Skriv din løsning
Koden kører i din egen browser. Den bliver ikke sendt nogen steder hen, og der bliver ikke gemt noget. Lukker du siden, er den væk.
Din kode
// Lav en klasse Konto med:
// - en constructor, der tager startsaldoen
// - en metode indsaet(beloeb)
// - en metode haev(beloeb), der returnerer false hvis der ikke er dækning
// - en getter saldo
const konto = new Konto(1000);
konto.indsaet(500);
console.log(konto.saldo);
console.log(konto.haev(5000)); Output
Tryk på “Kør koden”.
- Saldoen er 1500 efter indsættelsen
- Hævning uden dækning afvises
- Saldoen kan ikke sættes direkte udefra
3 hints
- Grundformen er `class Konto { constructor(start) { this.#saldo = start; } }` med `#saldo = 0;` erklæret øverst i klassen.
- En getter skrives `get saldo() { return this.#saldo; }` og bruges uden parenteser: `konto.saldo`.
- I `haev` skal du tjekke `if (beloeb > this.#saldo) { return false; }`, før du trækker fra, og returnere `true` bagefter.