⊗ppOpBsGSA 14 of 107 menu

Vantagens dos getters e setters em POO em PHP

Na lição anterior, criamos um getter e um setter para cada propriedade. Pode surgir a pergunta: por que são necessárias tantas complicações, 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 a propriedade, é possível executar algumas verificações. Por exemplo, no nosso caso, ao gravar o nome e sobrenome, podemos verificar que o novo valor não é uma string vazia:

<?php class User { private $name; private $surn; public function setName($name) { if (strlen($name) > 0) { $this->name = $name; } else { echo 'name is incorrect'; } } public function setSurn($surn) { if (strlen($surn) > 0) { $this->surn = $surn; } else { echo 'surn is incorrect'; } } public function getName() { return $this->name; } public function getSurn() { return $this->surn; } } ?>

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

<?php $user = new User(); ?>

Agora vamos tentar gravar um valor correto:

<?php $user->setName('john'); ?>

E agora vamos tentar gravar um valor incorreto:

<?php $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 do 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