Nesta aula aprenderemos a utilizar funções para atribuir valores a propriedades das classes e dessa forma, gerenciar qual o valor que será atribuído. |
DEFININDO VALORES A VARIÁVEIS COM FUNÇÕES
Propriedades que possuem regras, deveram utilizar funções para a definição de valores e, a razão para essa metodologia é bastante simples: com funções conseguimos analisar se o valor passado é, por exemplo, inválido.
Se tivessemos por exemplo uma classe de nome Pessoa, cujo objetivo é conter os dados pessoais, é correto permitir a definição do nome da pessoa como sendo uma String com 0 caracteres? Normalmente não, porém, obviamente que você possa imaginar alguma situação necessário, porém, falando de forma geral, o nome de uma pessoa não deveria ter 0 caracteres ou então, ser composto por digitos numéricos.
Os atributos, como estudamos, são simples variáveis, logo, podemos por exemplo restringir o acesso direto a esse membro e definir 2 funções, uma para a definição de valores e outra para a leitura. Dessa maneira, permitimos o acesso externo ao membro e ao mesmo tempo, somos capazes de analisar o valor que está sendo atribuido e processar o valor que será retornado.
Nesse momento o nosso objetivo é estudar a passagem dos valores dos atributos através do uso de funções. Isso porque, a utilização de funções para a leitura e escrita de valores representa uma metodologia de desenvolvimento e por isso, haverá no mínimo uma aula dedicada ao seu estudo .
Ainda que não exista uma regra, é comum que funções que definem valores a atributos de classe utilizem o prefixo set, da mesma forma, funções que retornam valores, geralmente utilizam o prefixo get.
EXEMPLO FEITO EM AULA
#GERENCIANDO PROPRIEDADES
class Pessoa{
public $idade = 0;
public function get_idade(){
return $this -> idade;
}
public function set_idade($idade){
if($idade > 0){
$this->idade = $idade;
}else{
echo "A idade informada é inválida.";
}
}
// get - pegar
// set - definir, atribuir a, setar
}
$p1 = new Pessoa();
$p1 -> set_idade(22);
$p1 -> set_idade(-5);
echo "A idade é: {$p1->get_idade()}";
VEJA TAMBÉM
- Aula 91: Primeira Classe
- Aula 92: Primeira Classe
- Aula 93: Criação de Objetos
- Aula 94: Acessando Membros de Classe
- Aula 95: Implementando Funcionalidades na Classe
- Aula 96: Pseudo variável $this
- Aula 97: Gerenciando atributos de Classe
- Aula 98: Construtor
- Aula 99: Construtores Personalizados
- Aula 100: Destrutores
- Aula 101: Encapsulamento I
- Aula 102: Encapsulamento II
- Aula 103: Herança I
- Aula 104: Herança II
- Aula 105: Modificadores de Acesso
- Aula 106: Visibilidade das Funções
- Aula 107: Funções Modificadoras
- Aula 108: Sobrescrita de Funções
Tags curso, php, programação orientada a objetos, poo, classe, objeto, instância, propriedade, atributo, blog
Comentários
comments powered by Disqus