⊗jsOpBsGSA 18 of 60 menu

Vantagens de setters e getters em POO em JavaScript

Na lição anterior, criamos um getter e um setter para cada propriedade. Pode surgir a pergunta: por que são necessárias tais complexidades, se praticamente o mesmo efeito pode ser alcançado tornando as propriedades públicas em vez de privadas?

A questão é que os getters e setters têm uma vantagem: antes de acessar uma propriedade, algumas verificações podem ser executadas. Por exemplo, no nosso caso, ao gravar o nome e sobrenome, podemos verificar que o novo valor não é uma string vazia:

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

Vamos verificar como isso funciona. Primeiro, vamos criar um objeto da classe:

let user = new User;

Agora vamos tentar gravar um valor correto:

user.setName('john');

E agora vamos tentar gravar um valor incorreto:

user.setName(''); // erro

Na classe Employee, no setter da idade, faça uma verificação para garantir que a idade deve estar entre 0 e 120.

Na classe Employee, no getter do salário, faça com que ao ler o salário, um símbolo de dólar seja adicionado ao final de seu valor.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar