⊗jsOpBsGSA 18 of 60 menu

Fordele ved setters og getters i OOP i JavaScript

I den forrige lektion lavede vi for hver egenskab en getter og setter. Der kan opstå et spørgsmål om, hvorfor sådanne komplikationer er nødvendige, når man faktisk kan opnå den samme effekt ved at gøre egenskaberne offentlige i stedet for private.

Årsagen er, at getters og setters har en fordel: før adgang til egenskaben kan man udføre nogle kontroller. For eksempel, i vores tilfælde kan vi ved tilskrivning af for- og efternavn kontrollere, at den nye værdi ikke er en tom streng:

class User { #name; #surn; setName(name) { if (name.length > 0) { this.#name = name; } else { throw new Error('name is incorrect'); } } setSurn(surn) { if (surn.length > 0) { this.#surn = surn; } else { throw new Error('surn is incorrect'); } } getName() { return this.#name; } getSurn() { return this.#surn; } }

Lad os kontrollere, hvordan dette fungerer. Lad os først oprette et objekt af klassen:

let user = new User;

Lad os nu prøve at tilskrive en korrekt værdi:

user.setName('john');

Og lad os nu prøve at tilskrive en ukorrekt værdi:

user.setName(''); // fejl

I klassen Employee skal du i setters for alder tilføje en kontrol for, at alderen skal være fra 0 til 120.

I klassen Employee skal du i getters for løn gøre sådan, at ved læsning af løn tilføjes et dollartegn til slutningen af dens værdi.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis