⊗jsOpBsGSA 18 of 60 menu

Výhody setterů a getterů v OOP v JavaScriptu

V předchozí lekci jsme vytvořili pro každou vlastnost getter a setter. Může vyvstat otázka, k čemu jsou potřebné takové složitosti, když stejného efektu lze dosáhnout, pokud uděláme vlastnosti veřejné, nikoli privátní.

Jde o to, že gettery a settery mají výhodu: před přístupem k vlastnosti lze provést některé kontroly. Například v našem případě při zápisu jména a příjmení můžeme zkontrolovat, že nová hodnota není prázdný řetězec:

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; } }

Pojďme vyzkoušet, jak to funguje. Nejprve vytvoříme objekt třídy:

let user = new User;

Nyní zkusíme zapsat správnou hodnotu:

user.setName('john');

A nyní zkusíme zapsat nesprávnou:

user.setName(''); // chyba

Ve třídě Employee v setteru věku proveďte kontrolu, že věk musí být od 0 do 120.

Ve třídě Employee v getteru platu udělejte to, aby při čtení platu na konec jeho hodnoty byl přidán znak dolaru.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout