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/3-Herança.md
+8-9Lines changed: 8 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
Como já foi dito, a herança é um dos pilares da Progamação Orientada a Objetos. Com ela é possível fazer o reuso de classes que contém atributos e metódos em comum.
6
6
7
-
Vamos usar como exemplo a relação de um pai e um filho e seus idiomas nativos, onde o filho irá herdar as características de seu pai. Naturalmente, o pai sabe falar uma linguagem e eventualmente seu filho também aprenderá ela por meio do convívio.
7
+
Vamos usar como exemplo a relação de um pai e um filho, e seus idiomas nativos, onde o filho irá herdar as características de seu pai. Naturalmente, o pai sabe falar uma linguagem e eventualmente seu filho também aprenderá ela por meio do convívio.
8
8
9
9
```php
10
10
@@ -33,14 +33,14 @@ Neste exemplo, a classe Filho herda a propiedade `idioma` e o metódo `apresenta
33
33
$pai = new Pai();
34
34
$pai->apresentar(); //Olá, meu nome é João e meu idioma nativo é Português!
35
35
36
-
//O filho herda as propiedades do pai
36
+
//O filho herda as propriedades do pai
37
37
$filho = new Filho();
38
38
$filho->apresentar; //Olá, meu nome é Enzo e meu idioma nativo é Português!
39
39
```
40
40
41
-
Como você pode ver, apesar do Filho herdar as propiedades do Pai, é possível que estas sejam modificadas, como foi feito com a propiedade `nome`.
41
+
Como pode ver, apesar do Filho herdar as propriedades do Pai, é possível que estas sejam modificadas, como foi feito com a propiedade `nome`.
42
42
43
-
### Pensando suas classes
43
+
### Pensando as suas classes
44
44
45
45
A herança em geral, e principalmente a vertical, gera uma relação de razão
46
46
onde ambos os termos são convertíveis, pois é uma demarcação de categoria
@@ -56,18 +56,17 @@ Filho "é um" Pai
56
56
Essa relação pode ser verdadeira com algumas premissas:
57
57
58
58
1. Premissa maior: Que o filho seja Pai
59
-
2. Premissa menor: Que o filho não seja pai de seu pai
59
+
2. Premissa menor: Que o filho não seja pai do seu pai
60
60
61
61
Nenhuma dessas premissas pode ser estritamente respeitada nessa relação se
62
-
levarmos em consideração somente a interface:
62
+
considerarmos somente a interface:
63
63
64
64
```php
65
-
(function (Pai $o): Filho {
66
-
})(new Filho);
65
+
(fn (Pai $o): Filho => $o)(new Filho);
67
66
```
68
67
69
68
### Nota
70
-
> -A herança é comumente desencorajada em favor da composição.
69
+
> -Use composição ao invés de herança sempre que possível.
71
70
> - No PHP não é possível herdar mais de uma classe, para isso são usadas as classes intermediarias, interfaces ou traits.
72
71
> - Você poderá aprender mais sobre a palavra chave `public` no capitulo sobre [modificadores de acesso](4-Modificadores-de-acesso.md).
0 commit comments