You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 4-Intermediário/4-Modificadores-de-acesso.md
+19-15Lines changed: 19 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,23 @@
1
1
# 4.4 - Modificadores de Acesso
2
2
3
-
## O que são?
3
+
## O que são?
4
4
5
5
Os modificadores de acesso são palavras-chave reservadas para definir quais metódos e/ou
6
-
propiedades podem ser acessadas a partir um ponto especifíco do seu código. Existem 3 níveis de visibilidade:
6
+
propriedades podem ser acessadas à partir de um ponto especifíco do seu código.
7
+
8
+
## Quais são?
9
+
10
+
No PHP, existem 3 níveis de visibilidade:
7
11
**public**, **protected** e **private**.
8
12
9
13
10
-
### Public
14
+
### public
11
15
12
-
O nível de visibilidade publica é o padrão de todas as propiedades de uma classe, fazendo-as serem
13
-
acessíveis de qualquer lugar do código.
16
+
O nível de visibilidade public é o padrão de todas as propriedades de uma classe, fazendo-as serem
17
+
acessíveis dentro do escopo da própria classe e por quaisquer classes externas, não somente as que herdam a classe pai.
14
18
15
19
Por exemplo, temos uma classe Pessoa, com uma propriedade nome e um metódo apresentar,
16
-
ambas as propiedades podem ser utilizadas fora da classe.
20
+
ambas as propriedades podem ser utilizadas fora da classe.
17
21
```php
18
22
<?php
19
23
@@ -22,7 +26,7 @@ class Pessoa {
22
26
23
27
public function apresentar()
24
28
{
25
-
echo "Meu nome é $this->nome";
29
+
echo "Meu nome é {$this->nome}";
26
30
}
27
31
}
28
32
@@ -31,9 +35,9 @@ echo $pessoa->nome . PHP_EOL; //Output: João
31
35
$pessoa->apresentar() . PHP_EOL; //Output: Meu nome é João
32
36
```
33
37
34
-
### Protected
38
+
### protected
35
39
36
-
Já o nível protegido faz com que as propiedades só sejam acessíveis dentro do escopo de classes que herdam a classe pai.
40
+
Já o nível de visibilidade protected faz com que as propriedades sejam acessíveis somente dentro do escopo da própria classe e de classes que herdam a classe pai.
37
41
38
42
39
43
```php
@@ -51,7 +55,7 @@ class Filho extends Pai {
51
55
52
56
public function apresentar()
53
57
{
54
-
echo "Meu nome é $this->nome e o do meu pai é" . $this->nomePai;
58
+
echo "Meu nome é {$this->nome} e o do meu pai é" . $this->nomePai;
$filho->apresentar(); //Output: Meu nome é Pedro e o do meu pai é João
65
69
```
66
70
67
-
### Private
71
+
### private
68
72
69
-
As propiedades com nível de acesso privado só estão disponíveis dentro da própia classe que a criou, não é possível acessar elas a partir de classes que a herdam.
73
+
As propriedades com nível de acesso privado só estão disponíveis dentro do escopo da própria classe que a criou, não sendo possível acessar elas à partir de classes que herdam a classe pai.
70
74
71
-
Voltando ao exemplo anterior, podemos criar um metodo e um atributo adcional para demostrar o nível privado.
75
+
Voltando ao exemplo anterior, podemos criar um método e um atributo adicional para demonstrar o nível de visibilidade private.
72
76
```php
73
77
74
78
<?php
@@ -81,7 +85,7 @@ class Pai {
81
85
82
86
public function apresentar()
83
87
{
84
-
echo "Meu nome é $this->nomePai e meu CPF é: $this->cpf";
88
+
echo "Meu nome é {$this->nomePai} e meu CPF é: {$this->cpf}";
85
89
}
86
90
87
91
private function mostrarCpf()
@@ -97,7 +101,7 @@ class Filho extends Pai {
97
101
98
102
public function mostrarCpfPai()
99
103
{
100
-
echo "O CPF do meu Pai é: " . $this->cpf; //Propiedade inexistente
104
+
echo "O CPF do meu Pai é: " . $this->cpf; //Propriedade inexistente
0 commit comments