PHPOrientadoa ObjetosnaPrática
+12yworkingwithIT +3yworkingabroad Lucas Sahdo SENIOR SOFTWARE ENGINEER Manaus Rio de Janeiro Tony & Maverick PHPSP - PICPAy
Índice 1. BÁSICO DE POO 2. PILARES DE POO 3. RELACIONAMENTO ENTRE OBJETOS 4. PROJETO PRÁTICO 5. DÚVIDAS
Clean code always looks like it was written by someone who cares. Michael Feathers autor de Working Effectively with Legacy Code
O paradigma estruturado organiza o código em blocos lógicos, com início, meio e fim, usando estruturas como sequência, decisões (if/else) e repetições (loops). Ele surgiu para tornar o código mais legível e previsível, evitando o caos do estilo "espaguete". É a base do paradigma procedural. O que é o Paradigma Estruturado? BásicodePOO
Como era antes? BásicodePOO
É uma forma de programar baseada em objetos, que combinam dados (atributos) e ações (métodos). Diferente de paradigmas como o procedural, onde o foco está em funções e sequência de comandos, a orientação a objetos organiza o código em estruturas que representam o mundo real, promovendo reutilização, modularidade e manutenção. O que é o Paradigma Orientado a Objetos? BásicodePOO
Uma classe é um molde que define as propriedades e comportamentos de um objeto. Com ela, organizamos o código de forma reutilizável e mais fácil de manter. Classes BásicodePOO
Um objeto é uma instância de uma classe. Ele representa algo do mundo real com características (atributos) e ações (métodos). Exemplo: um carro, uma pessoa ou um produto no sistema. Objetos BásicodePOO
BásicodePOO
Em POO, hierarquia de classes representa a relação de herança entre classes. Uma superclasse define atributos e métodos comuns. Subclasses herdam essas características e podem adicionar ou sobrescrever comportamentos. Exemplo: Cat e Dog herdam de Animal, compartilhando atributos como age e métodos como breathe(), mas cada um também tem suas particularidades. BásicodePOO Hierarquia de Classes
PilaresdePOO Fonte: Dive Into Design Patterns – Alexander Shvets
Abstração A abstração é um dos pilares da POO e permite esconder os detalhes internos de funcionamento de um objeto, mostrando apenas o que é relevante para quem usa. PilaresdePOO Um carro possui motor, ignição e vários sistemas internos, mas para ligar, basta usar o botão ligar(). Você não precisa entender como o motor funciona para usar o carro — isso é abstração.
Encapsulamento PilaresdePOO O encapsulamento é o princípio que permite proteger os dados internos de um objeto, expondo apenas o que for necessário por meio de métodos públicos. Um carro não permite acesso direto ao motor. Para acelerar, usamos o método acelerar(), e não manipulamos diretamente as peças internas. O funcionamento interno fica protegido.
Encapsulamento PilaresdePOO $velocidade é privado, não pode ser acessado diretamente. só é possível mudar a velocidade através do método acelerar(), garantindo controle. método getVelocidade() expõe a informação de forma segura.
Herança é o pilar da POO que permite que uma classe filha (subclasse) reutilize atributos e métodos de uma classe pai (superclasse). Isso promove reutilização de código, evita duplicação e permite especializações. Herença PilaresdePOO
Herença PilaresdePOO
Herença PilaresdePOO
Herença PilaresdePOO
Polimorfismo Polimorfismoéa capacidadedediferentes classescompartilharemo mesmométodo,mascom comportamentos diferentes. PilaresdePOO
Uma classe pode implementar várias interfaces, o que promove flexibilidade e desacoplamento no código. Interfaces UmPoucoAlém Interfaces definem contratos que as classes devem seguir, especificando métodos obrigatórios, mas sem implementar a lógica.
Traits UmPoucoAlém Traits são um recurso do PHP que permite reutilizar métodos entre múltiplas classes, sem precisar de herança. Elas ajudam a evitar duplicação de código quando você precisa compartilhar funcionalidades entre classes diferentes. Usetraitscomconsciência!! Elassãopoderosas,masnãosubstituemboas abstrações,interfaceseherançabemaplicada.
RelacionamentoEntreObjetos Em POO, objetos podem se relacionar entre si para representar conexões do mundo real. 👥Tipos mais comuns: Associação: É qualquer tipo de ligação entre objetos — quando um objeto usa ou conhece outro. Composição: Um objeto é composto por outro. Ex: Carro possui um Motor. Se o carro for destruído, o motor também. Agregação: Um objeto contém outro, mas eles vivem separadamente. Ex: Time com vários Jogadores.
Livros
ProjetoPrático
Dúvidas?

PHP Training - Programação Orientada a Objetos - PHP Manaus

  • 1.
  • 2.
    +12yworkingwithIT +3yworkingabroad Lucas Sahdo SENIOR SOFTWAREENGINEER Manaus Rio de Janeiro Tony & Maverick PHPSP - PICPAy
  • 3.
    Índice 1. BÁSICO DEPOO 2. PILARES DE POO 3. RELACIONAMENTO ENTRE OBJETOS 4. PROJETO PRÁTICO 5. DÚVIDAS
  • 4.
    Clean code alwayslooks like it was written by someone who cares. Michael Feathers autor de Working Effectively with Legacy Code
  • 5.
    O paradigma estruturadoorganiza o código em blocos lógicos, com início, meio e fim, usando estruturas como sequência, decisões (if/else) e repetições (loops). Ele surgiu para tornar o código mais legível e previsível, evitando o caos do estilo "espaguete". É a base do paradigma procedural. O que é o Paradigma Estruturado? BásicodePOO
  • 6.
  • 7.
    É uma formade programar baseada em objetos, que combinam dados (atributos) e ações (métodos). Diferente de paradigmas como o procedural, onde o foco está em funções e sequência de comandos, a orientação a objetos organiza o código em estruturas que representam o mundo real, promovendo reutilização, modularidade e manutenção. O que é o Paradigma Orientado a Objetos? BásicodePOO
  • 8.
    Uma classe éum molde que define as propriedades e comportamentos de um objeto. Com ela, organizamos o código de forma reutilizável e mais fácil de manter. Classes BásicodePOO
  • 9.
    Um objeto éuma instância de uma classe. Ele representa algo do mundo real com características (atributos) e ações (métodos). Exemplo: um carro, uma pessoa ou um produto no sistema. Objetos BásicodePOO
  • 10.
  • 11.
    Em POO, hierarquiade classes representa a relação de herança entre classes. Uma superclasse define atributos e métodos comuns. Subclasses herdam essas características e podem adicionar ou sobrescrever comportamentos. Exemplo: Cat e Dog herdam de Animal, compartilhando atributos como age e métodos como breathe(), mas cada um também tem suas particularidades. BásicodePOO Hierarquia de Classes
  • 12.
    PilaresdePOO Fonte: Dive IntoDesign Patterns – Alexander Shvets
  • 13.
    Abstração A abstração éum dos pilares da POO e permite esconder os detalhes internos de funcionamento de um objeto, mostrando apenas o que é relevante para quem usa. PilaresdePOO Um carro possui motor, ignição e vários sistemas internos, mas para ligar, basta usar o botão ligar(). Você não precisa entender como o motor funciona para usar o carro — isso é abstração.
  • 14.
    Encapsulamento PilaresdePOO O encapsulamento éo princípio que permite proteger os dados internos de um objeto, expondo apenas o que for necessário por meio de métodos públicos. Um carro não permite acesso direto ao motor. Para acelerar, usamos o método acelerar(), e não manipulamos diretamente as peças internas. O funcionamento interno fica protegido.
  • 15.
    Encapsulamento PilaresdePOO $velocidade é privado,não pode ser acessado diretamente. só é possível mudar a velocidade através do método acelerar(), garantindo controle. método getVelocidade() expõe a informação de forma segura.
  • 16.
    Herança é opilar da POO que permite que uma classe filha (subclasse) reutilize atributos e métodos de uma classe pai (superclasse). Isso promove reutilização de código, evita duplicação e permite especializações. Herença PilaresdePOO
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
    Uma classe podeimplementar várias interfaces, o que promove flexibilidade e desacoplamento no código. Interfaces UmPoucoAlém Interfaces definem contratos que as classes devem seguir, especificando métodos obrigatórios, mas sem implementar a lógica.
  • 22.
    Traits UmPoucoAlém Traits são umrecurso do PHP que permite reutilizar métodos entre múltiplas classes, sem precisar de herança. Elas ajudam a evitar duplicação de código quando você precisa compartilhar funcionalidades entre classes diferentes. Usetraitscomconsciência!! Elassãopoderosas,masnãosubstituemboas abstrações,interfaceseherançabemaplicada.
  • 23.
    RelacionamentoEntreObjetos Em POO, objetospodem se relacionar entre si para representar conexões do mundo real. 👥Tipos mais comuns: Associação: É qualquer tipo de ligação entre objetos — quando um objeto usa ou conhece outro. Composição: Um objeto é composto por outro. Ex: Carro possui um Motor. Se o carro for destruído, o motor também. Agregação: Um objeto contém outro, mas eles vivem separadamente. Ex: Time com vários Jogadores.
  • 24.
  • 25.
  • 26.