From d351e2ef882f84c1646dc3ab5ee0ed59b178801f Mon Sep 17 00:00:00 2001 From: Washington83 Date: Sun, 22 Mar 2026 19:45:19 -0300 Subject: [PATCH 1/4] =?UTF-8?q?Update:=20Conte=C3=BAdo=20sobre=20polimorfi?= =?UTF-8?q?smo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "4-Intermedi\303\241rio/9-Polimorfismo.md" | 171 +++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 "4-Intermedi\303\241rio/9-Polimorfismo.md" diff --git "a/4-Intermedi\303\241rio/9-Polimorfismo.md" "b/4-Intermedi\303\241rio/9-Polimorfismo.md" new file mode 100644 index 0000000..fd4dfce --- /dev/null +++ "b/4-Intermedi\303\241rio/9-Polimorfismo.md" @@ -0,0 +1,171 @@ +# 4.5 - Polimorfismo + +## O que é? + +Polimorfismo é a capacidade de um mesmo método ter **comportamentos diferentes**, dependendo da classe que o implementa. + +> Ou seja: +Você chama **o mesmo método**, mas o resultado muda. + +--- + +## Por que usar? + +Para evitar vários `if/else` e deixar o código: + +* Mais organizado +* Mais fácil de manter +* Mais profissional + +--- + +## Ideia simples ! + +Você tem um método chamado `emitirSom()`: + +* Cachorro → **Au au** +* Gato → **Miau** + +> Mesmo método, comportamentos diferentes. + +--- + +## Exemplo prático + +```php +emitirSom() . PHP_EOL; // Au au +$animal2->emitirSom() . PHP_EOL; // Miau +``` + +--- + +## Outro exemplo (mais real) + +```php +pagar(100) . PHP_EOL; +} +``` + +--- + +## Sem polimorfismo + +```php +if ($tipo == 'pix') { + echo "Pagamento via PIX"; +} elseif ($tipo == 'cartao') { + echo "Pagamento no cartão"; +} +``` + +❌ Difícil de manter +❌ Cresce rápido demais + +--- + +## Com polimorfismo + +```php +$pagamento->pagar(100); +``` + +✔️ Limpo +✔️ Reutilizável +✔️ Escalável + +--- + +## Resumão !!! + +* Mesmo método (`pagar`, `emitirSom`) +* Classes diferentes +* Resultados diferentes + +--- + +## 🧩 Frase pra guardar + +> **Polimorfismo é usar o mesmo método com comportamentos diferentes em objetos diferentes.** + +--- \ No newline at end of file From f0ce87d5c5e8593c16ecae0bd00372c20ce9f9a2 Mon Sep 17 00:00:00 2001 From: Washington83 Date: Sun, 22 Mar 2026 19:46:08 -0300 Subject: [PATCH 2/4] =?UTF-8?q?Update:=20Conte=C3=BAdo=20sobre=20Encapsula?= =?UTF-8?q?mento?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "4-Intermedi\303\241rio/10-Encapsulamento.md" | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 "4-Intermedi\303\241rio/10-Encapsulamento.md" diff --git "a/4-Intermedi\303\241rio/10-Encapsulamento.md" "b/4-Intermedi\303\241rio/10-Encapsulamento.md" new file mode 100644 index 0000000..8759f78 --- /dev/null +++ "b/4-Intermedi\303\241rio/10-Encapsulamento.md" @@ -0,0 +1,115 @@ +# 4.6 - Encapsulamento + +## O que é? + +Encapsulamento é o conceito de **proteger os dados de uma classe**, controlando como eles são acessados e modificados. + + Ou seja: +Você **esconde os atributos** e permite acesso apenas através de métodos. + +--- + +## Por que usar? + +Para garantir que os dados: + +* Não sejam alterados de forma errada +* Tenham regras de validação +* Fiquem mais seguros + +--- + +## Ideia simples + +Pensa em uma conta bancária: + +* Você não altera o saldo direto ❌ +* Você usa métodos como `depositar()` ou `sacar()` ✔️ + +> Isso é encapsulamento. + +--- + +## Exemplo sem encapsulamento (errado) + +```php +saldo = -5000; // ❌ valor inválido +``` + +--- + +## Exemplo com encapsulamento (correto) + +```php + 0) { + $this->saldo += $valor; + } + } + + public function sacar($valor) + { + if ($valor > 0 && $valor <= $this->saldo) { + $this->saldo -= $valor; + } + } + + public function getSaldo() + { + return $this->saldo; + } + +} + +$conta = new ContaBancaria(); +$conta->depositar(500); +$conta->sacar(200); + +echo $conta->getSaldo(); // 1300 +``` + +--- + +## O que está acontecendo? + +* `saldo` é **private** → não pode ser acessado diretamente +* Só pode ser alterado por métodos controlados +* Existem regras (`if`) para evitar erros + +--- + +## Resumão + +* Encapsular = **esconder os dados** +* Acesso só por métodos (getters/setters) +* Mais segurança e controle + +--- + +## 🧩 Frase pra guardar + +> **Encapsulamento é proteger os dados e controlar como eles são acessados.** + +--- + +## 🔗 Relação com outros conceitos + +* Usa `private` e `protected` (modificadores de acesso) +* Trabalha junto com getters e setters +* Base para código seguro e profissional + +--- \ No newline at end of file From 8503a08d0c1a4329ec5f6102d3c725a563369ea9 Mon Sep 17 00:00:00 2001 From: Washington Costa Date: Sun, 22 Mar 2026 20:21:53 -0300 Subject: [PATCH 3/4] Corrigindo uso de PHP_EOL com echo --- "4-Intermedi\303\241rio/9-Polimorfismo.md" | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git "a/4-Intermedi\303\241rio/9-Polimorfismo.md" "b/4-Intermedi\303\241rio/9-Polimorfismo.md" index fd4dfce..014eb49 100644 --- "a/4-Intermedi\303\241rio/9-Polimorfismo.md" +++ "b/4-Intermedi\303\241rio/9-Polimorfismo.md" @@ -73,8 +73,8 @@ class Gato extends Animal { $animal1 = new Cachorro(); $animal2 = new Gato(); -$animal1->emitirSom() . PHP_EOL; // Au au -$animal2->emitirSom() . PHP_EOL; // Miau +echo $animal1->emitirSom() . PHP_EOL; +echo $animal2->emitirSom() . PHP_EOL; ``` --- @@ -168,4 +168,4 @@ $pagamento->pagar(100); > **Polimorfismo é usar o mesmo método com comportamentos diferentes em objetos diferentes.** ---- \ No newline at end of file +--- From 247981ede0df26bd29b70c68d018e60b6f90e8bd Mon Sep 17 00:00:00 2001 From: Washington Costa Date: Sun, 22 Mar 2026 20:33:27 -0300 Subject: [PATCH 4/4] Fix: corrigindo headings Markdown (MD019) --- "4-Intermedi\303\241rio/9-Polimorfismo.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/4-Intermedi\303\241rio/9-Polimorfismo.md" "b/4-Intermedi\303\241rio/9-Polimorfismo.md" index 014eb49..bfc3f2d 100644 --- "a/4-Intermedi\303\241rio/9-Polimorfismo.md" +++ "b/4-Intermedi\303\241rio/9-Polimorfismo.md" @@ -9,7 +9,7 @@ Você chama **o mesmo método**, mas o resultado muda. --- -## Por que usar? +## Por que usar? Para evitar vários `if/else` e deixar o código: