SlideShare uma empresa Scribd logo
Facilitador: Renan Gurgel
   Introduzida a partir do PHP3
   Fortalecida com a versão do PHP4
   Com o PHP5 fica mais robusta e com os
    principais conceitos da OO.
   Base da OO
   “O projeto da casa” (projeto do objeto)
   Template de objeto
   Estrutura estática utilizada para descrever
    objetos mediante atributos e métodos
Orientação a objetos   php
Orientação a objetos   php
Orientação a objetos   php
   Uma classe por arquivo

   Padrões de nomeclatura:
     Padrao_Zend_ou_Pear
     PadraoCamelCase
   “A casa em si”
   Contém informações
   Sua estrutura é dinâmica, ou seja seus atributos
    podem mudar de valor durante a execução do
    programa
   Pode-se declarar diversos objetos de uma
    mesma classe
Orientação a objetos   php
   Através do operador NEW
   Declarados na classe
   Usado nos objetos
   Propriedades dos objetos
No PHP 4
era assim...
No PHP 5 é
  assim:
   Métodos mágicos
   Inseridos a partir do PHP5
   Sempre começam com _ _
   14 no PHP 5.3
   Os 2 principais são:
     __construct()
     __destruct()
   Todos os métodos mágicos em:
     http://www.php.net/manual/pt_BR/language.oop5.magic.php
   Executado na instância do objeto
   Não pode retornar nada
   Pode sofrer sobrecarga
   Pode receber argumentos
   Acionado quando não existe mais referências
    para o objeto ou quando chega ao fim do script
   Pode ser útil em:
     Banco de dados
     Logs
   Variável especial $this
   Automaticamente definida
   Referência ao próprio objeto
   Acessando atributos
     $this->nomeDoAtributo (ex: $this->cpf )
   Acessando métodos
     $this->nomeDoMetodo() (ex: $this->getCpf() )
Vamos
trabalhar
um pouco
   né?
Testem...

     $renan = new Pessoa();
   $renan->setNome('Renan');
echo $renan->getNome()."<br />";
   A partir do PHP5
   Public
   Private
   Protected
   Esqueça o var
   O encapsulamento é a chave da OO
   Membros declarados assim só podem ser
    acessados dentro da classe em que foram
    declarados
   Não pode ser acessado a partir de uma classe
    descendente
   Não pode ser acessado a partir do programa que
    faz uso dessa classe
   Membros declarados como protected podem ser
    acessados dentro da classe
   Podem ser acessados em classes descendentes
   Não pode ser acessado a partir do programa que
    faz uso dessa classe
   Membros declarados como public podem ser
    acessados livremente na classe em que foram
    declarados
   Podem ser acessados em classes descendentes
   Pode ser acessado a partir do programa que faz
    uso dessa classe
Se nenhum desses
  for declarado o
 public é definido
    por padrão
   Para continuar o suporte ao encapsulamento
   Usado para configurações de
    Banco de dados e nomes de
    usuários
   Palavra chave const
   Acesso :: (operador de resolução de escopo)
   É um filho poder obter algumas características
    do pai
   Há casos em que é necessário ter objetos
    idênticos com algumas funcionalidades a mais ou
    então com as mesmas funcionalidades, mas com
    comportamentos diferentes
Orientação a objetos   php
Ambos são
 veículos!
Podemos dizer que
 eles pertencem a
   classe veiculo
Para dizer que
uma classe herda
de outra usamos
 a palavra chave
    EXTENDS
EX:
Orientação a objetos   php
   Polymorphos (Grego) – Múltiplas formas
   Várias classes podem possuir a mesma estrutura,
    mas comportamento diferentes
   Ao utilizar herança podemos não só aproveitar os
    métodos da classe pai, como também fazer com
    que algumas de suas características sejam
    alteradas
Desculpe,
ainda não
entendi...
Imagine que um
 banco possua 2
tipos de cheques
CHEQUE COMUM




     X
CHEQUE ESPECIAL
   Ambos possuem a mesma estrutura
   O que diferencia um do outro é a forma de
    cobrança de juros
   O cheque comum cobra 25%
   ENTÃO...
Orientação a objetos   php
Orientação a objetos   php
   No cheque especial os juros cobrados são de 10%
    e não 25%
   Vamos aproveitar a mesma estrutura apenas
    redefinindo o método calculaJuros
Orientação a objetos   php
Orientação a objetos   php
Orientação a objetos   php
   Self refere-se a classe atual e é normalmente
    usado para acessar:
     Métodos
     Constantes
   Parent:
     Refere-se a classe pai
     Normalmente usado para chamar o construtor ou
      métodos da classe pai
Vamos a
  um
exemplo
Orientação a objetos   php
   Usado para quando você não quer que a sua
    classe/método possa se estender mais
   Basta utilizar a palavra chave final
   Exemplos:
Orientação a objetos   php
Orientação a objetos   php

Mais conteúdo relacionado

PDF
10 Boas Práticas de Programação
PPTX
Clean Code
PPTX
Curso Básico de Java - Aula 2
PPTX
Java: Heranca e polimorfismo
PPTX
Orientação a objetos com PHP
PPTX
Clean Code (Robert C. Martin)
PPTX
Curso de Java - Antonio Alves - Aula 03
10 Boas Práticas de Programação
Clean Code
Curso Básico de Java - Aula 2
Java: Heranca e polimorfismo
Orientação a objetos com PHP
Clean Code (Robert C. Martin)
Curso de Java - Antonio Alves - Aula 03

Mais procurados (20)

PDF
02 - Orientação a objetos e revisão de C# v1.5
PPTX
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
PPTX
Curso de Java - Antonio Alves - Aula 03
PPTX
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
PPTX
Clean code - Mantenha seu código limpo
PDF
Java - Aula 2 - Orientado a Objetos
PDF
Curso de OO com C# - Parte 01 - Orientação a objetos
ODP
Minicurso Ruby on Rails Dextra
KEY
Clean code
PPTX
Javascript OO
PPTX
Introdução a C# 4.0 (Revisão)
PDF
Java 04
KEY
Orientação a Objetos com PHP
PDF
Revisão Sobre Programação Orientada a Objetos com Java
PDF
Java Primeiros Passos - Cap 7
PDF
Apostila de Introdução a POO com C#
PPTX
Tratamento de exceções
PPT
PHP Básico - Parte 5
PPT
Algoritmos Aula 03
ODP
Aula Herança
02 - Orientação a objetos e revisão de C# v1.5
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Curso de Java - Antonio Alves - Aula 03
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Clean code - Mantenha seu código limpo
Java - Aula 2 - Orientado a Objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
Minicurso Ruby on Rails Dextra
Clean code
Javascript OO
Introdução a C# 4.0 (Revisão)
Java 04
Orientação a Objetos com PHP
Revisão Sobre Programação Orientada a Objetos com Java
Java Primeiros Passos - Cap 7
Apostila de Introdução a POO com C#
Tratamento de exceções
PHP Básico - Parte 5
Algoritmos Aula 03
Aula Herança
Anúncio

Semelhante a Orientação a objetos php (20)

ODP
Prog web 06-php-oo
PPT
Aula5
PDF
Curso de PHP - Objetos
PDF
Programação Orientada a Objetos (POO) com PHP - Parte 1
ODP
Orientação a Objetos em PHP
PPTX
Curso de Java 4 - (Orientação a Objetos).pptx
PDF
03 poo
PDF
PHP 5.3 - Classes e Objetos
PPTX
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
PDF
Apostila php avancado
PDF
Apostila php avancado
ODP
3 orientacao-objetos
PDF
Php5 e a orientação a objetos
PPT
Aula 5 encapsulamento, associação, polimorfismo, interfaces
PPTX
Fundamentos da Programação PHP OO - Aula 3
PDF
03 - Orientação a objetos e classes em C# v1.0
ODP
Php 08 Oo
PDF
Programação OO - Java
PPTX
Aula 1 de Linguagens de Programação ISPGS
Prog web 06-php-oo
Aula5
Curso de PHP - Objetos
Programação Orientada a Objetos (POO) com PHP - Parte 1
Orientação a Objetos em PHP
Curso de Java 4 - (Orientação a Objetos).pptx
03 poo
PHP 5.3 - Classes e Objetos
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
Apostila php avancado
Apostila php avancado
3 orientacao-objetos
Php5 e a orientação a objetos
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Fundamentos da Programação PHP OO - Aula 3
03 - Orientação a objetos e classes em C# v1.0
Php 08 Oo
Programação OO - Java
Aula 1 de Linguagens de Programação ISPGS
Anúncio

Mais de secomp2011 (8)

PDF
PDF
Html 20.10
ODP
Dar caos a ordem
PDF
Importancia dos testes automatizados
PDF
Php básico
PDF
Introdução ao php
PDF
Arquitetura web e o php
PPTX
Desenvolvimento Ágil Usando SCRUM
Html 20.10
Dar caos a ordem
Importancia dos testes automatizados
Php básico
Introdução ao php
Arquitetura web e o php
Desenvolvimento Ágil Usando SCRUM

Orientação a objetos php

  • 2. Introduzida a partir do PHP3  Fortalecida com a versão do PHP4  Com o PHP5 fica mais robusta e com os principais conceitos da OO.
  • 3. Base da OO  “O projeto da casa” (projeto do objeto)  Template de objeto  Estrutura estática utilizada para descrever objetos mediante atributos e métodos
  • 7. Uma classe por arquivo  Padrões de nomeclatura:  Padrao_Zend_ou_Pear  PadraoCamelCase
  • 8. “A casa em si”  Contém informações  Sua estrutura é dinâmica, ou seja seus atributos podem mudar de valor durante a execução do programa  Pode-se declarar diversos objetos de uma mesma classe
  • 10. Através do operador NEW
  • 11. Declarados na classe  Usado nos objetos  Propriedades dos objetos
  • 12. No PHP 4 era assim...
  • 13. No PHP 5 é assim:
  • 14. Métodos mágicos  Inseridos a partir do PHP5  Sempre começam com _ _  14 no PHP 5.3  Os 2 principais são:  __construct()  __destruct()  Todos os métodos mágicos em:  http://www.php.net/manual/pt_BR/language.oop5.magic.php
  • 15. Executado na instância do objeto  Não pode retornar nada  Pode sofrer sobrecarga  Pode receber argumentos
  • 16. Acionado quando não existe mais referências para o objeto ou quando chega ao fim do script  Pode ser útil em:  Banco de dados  Logs
  • 17. Variável especial $this  Automaticamente definida  Referência ao próprio objeto  Acessando atributos  $this->nomeDoAtributo (ex: $this->cpf )  Acessando métodos  $this->nomeDoMetodo() (ex: $this->getCpf() )
  • 19. Testem... $renan = new Pessoa(); $renan->setNome('Renan'); echo $renan->getNome()."<br />";
  • 20. A partir do PHP5  Public  Private  Protected
  • 21. Esqueça o var  O encapsulamento é a chave da OO
  • 22. Membros declarados assim só podem ser acessados dentro da classe em que foram declarados  Não pode ser acessado a partir de uma classe descendente  Não pode ser acessado a partir do programa que faz uso dessa classe
  • 23. Membros declarados como protected podem ser acessados dentro da classe  Podem ser acessados em classes descendentes  Não pode ser acessado a partir do programa que faz uso dessa classe
  • 24. Membros declarados como public podem ser acessados livremente na classe em que foram declarados  Podem ser acessados em classes descendentes  Pode ser acessado a partir do programa que faz uso dessa classe
  • 25. Se nenhum desses for declarado o public é definido por padrão
  • 26. Para continuar o suporte ao encapsulamento  Usado para configurações de Banco de dados e nomes de usuários  Palavra chave const  Acesso :: (operador de resolução de escopo)
  • 27. É um filho poder obter algumas características do pai  Há casos em que é necessário ter objetos idênticos com algumas funcionalidades a mais ou então com as mesmas funcionalidades, mas com comportamentos diferentes
  • 30. Podemos dizer que eles pertencem a classe veiculo
  • 31. Para dizer que uma classe herda de outra usamos a palavra chave EXTENDS
  • 32. EX:
  • 34. Polymorphos (Grego) – Múltiplas formas  Várias classes podem possuir a mesma estrutura, mas comportamento diferentes  Ao utilizar herança podemos não só aproveitar os métodos da classe pai, como também fazer com que algumas de suas características sejam alteradas
  • 36. Imagine que um banco possua 2 tipos de cheques
  • 37. CHEQUE COMUM X CHEQUE ESPECIAL
  • 38. Ambos possuem a mesma estrutura  O que diferencia um do outro é a forma de cobrança de juros  O cheque comum cobra 25%  ENTÃO...
  • 41. No cheque especial os juros cobrados são de 10% e não 25%  Vamos aproveitar a mesma estrutura apenas redefinindo o método calculaJuros
  • 45. Self refere-se a classe atual e é normalmente usado para acessar:  Métodos  Constantes
  • 46. Parent:  Refere-se a classe pai  Normalmente usado para chamar o construtor ou métodos da classe pai
  • 47. Vamos a um exemplo
  • 49. Usado para quando você não quer que a sua classe/método possa se estender mais  Basta utilizar a palavra chave final  Exemplos: