Skip to content

Commit 057da3d

Browse files
authored
Merge pull request #89 from FabricioFL/feature/setters
Feature/setters
2 parents 27c5aaf + 2aecf55 commit 057da3d

File tree

2 files changed

+42
-3
lines changed

2 files changed

+42
-3
lines changed

4-Intermediário/6-Setters.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# 4.6 Métodos setters
2+
3+
## O que são?
4+
Setters são métodos usados para alterar valor de propriedades que não podem ser alteradas diretamente.
5+
6+
7+
8+
9+
## Como usar
10+
Como mostrado em [4.5 Getters](5-Getters.md), podemos usar as palavras reservadas do php ```this``` e ```self``` para manipular propriedades privadas. Antes vimos como ler o valor, agora vamos ver como alterar o valor, Veja o exemplo abaixo.
11+
12+
>### não estático:
13+
```php
14+
class Exemplo
15+
{
16+
private $propriedadePrivada = "Esta propriedade não pode ser alterada ou lida diretamente";
17+
18+
//Este método define um valor para $propriedadePrivada
19+
public function SetterParaPropriedadePrivada($novoValor)
20+
{
21+
$this->propriedadePrivada = $novoValor;
22+
}
23+
}
24+
```
25+
26+
>### estático:
27+
```php
28+
class Exemplo
29+
{
30+
private static $propriedadePrivada = "Esta propriedade não pode ser alterada ou lida diretamente";
31+
32+
//Este método define um valor para $propriedadePrivada
33+
public static function SetterParaPropriedadePrivada(string $novoValor)
34+
{
35+
self::$propriedadePrivada = $novoValor;
36+
}
37+
}
38+
```
39+
Dessa maneira podemos alterar o valor de uma propriedade sem permitir sua leitura (caso você queira permitir a leitura e alteração de valor, é recomendado o uso dos modificadores de acesso ```public``` ou ```protected``` no lugar de getters e setters).

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@
5454
3. [Herança](/4-Intermediário/3-Herança.md)
5555
4. [Modificadores de Acesso](/4-Intermediário/4-Modificadores-de-acesso.md)
5656
5. [Getters](/4-Intermediário/5-Getters.md)
57-
6. [Setters (Em construção)]()
58-
7. [Polimorfismo (Em construção)]()
59-
8. [Interfaces (Em construção)]()
57+
6. [Setters](/4-Intermediário/6-Setters.md)
58+
8. [Polimorfismo (Em construção)]()
59+
9. [Interfaces (Em construção)]()
6060

6161
### Módulo de funções
6262

0 commit comments

Comments
 (0)