php 08 oo

Download Php 08 Oo

If you can't read please download the document

Upload: regis-magalhaes

Post on 28-May-2015

3.232 views

Category:

Technology


0 download

TRANSCRIPT

  • 1. Programao para WEB
      • Regis Pires Magalhes
    • [email_address]

Programao Orientada a Objetos em PHP 2. Classes e Objetos 3. Herana 4. Sobrescrita de Mtodos 5. Sobrecarga de Construtores

  • Em PHP cada classe somente pode ter um nico construtor.
  • Assim, no h sobrecarga de construtores:

Fatal error:Cannot redeclare Pessoa::__construct() 6. include ou require

  • Ambos incluem e avaliam o arquivo informado.
  • A ausncia do arquivo especificado norequire , interrompe o processamento e produz umFatal Error .

7. include_once ou require_once

  • Similar aincludeerequire , mas se o arquivo j tiver sido includo, a incluso no ser feita novamente.

8. autoload

  • Pode-se definir uma funo__autoloadque automaticamente chamada caso seja usada uma classe que ainda no foi definida.
  • Isso pode evitar a necessidade de escrever mltiplos includes ou requires.

9. autoload index.php autoload.php MinhaClasse.php 10. Classes e Objetos 11. Construtores e Destrutores

  • Construtores pais no so chamados implicitamente pelo construtor da classe filha.
  • Para executar o construtor da classe pai, necessria uma chamada aparent::__construct()no construtor da classe filha.
  • O mtodo destrutor ou finalizador ser chamado assim que todas as referncias a um objeto particular forem removidas ou quando o objeto for explicitamente destrudo atravs da funounset()ou ainda quando o programa finalizado.
  • Destrutores pais no sero chamados implicitamente. Para executar o destrutor pai, deve-se fazer uma chamada explicitamente aparent::__destruct()no corpo do destrutor.

12. Construtores e Destrutores 13. Visibilidade dos membros 14. Visibilidade dos membros 15. :: Operador de Resoluo de Escopo

  • Permite acesso a membros estticos, constantes ou sobrescritos de uma classe.

16. :: Operador de Resoluo de Escopo

  • As palavras reservadasselfeparentso usadas para acessar membros de dentro da definio da classe.

17. Inicializaes invlidas 19. Membros de Classe

  • Chamar mtodos no estticos de maneira esttica gera um aviso de nvel E_STRICT.

20. Constantes

  • Constantes diferem de variveis normais no no uso do smbolo $ para declar-las ou us-las.

21. Classes Abstratas 22. Interfaces 23. final

  • Mtodos final NO podem ser sobrescritos em classes que o herdem.
  • Classes final no podem ser herdadas por outras classes.
  • O exemplo abaixo no funciona:

24. final

  • O exemplo abaixo tambm no funciona:

25. O mtodo __toString()

  • Retorna a representao de um objeto em forma de string.

26. Clonagem de Objetos

  • Uma cpia de objeto criada usando o comando 'clone'. Isso chama o mtodo __clone() do objeto.
  • O mtodo __clone() de um objeto no pode ser executado diretamente.

27. Clonagem de Objetos 28. Interceptao

  • Chamada de mtodos e acesso a membros podem ser interceptados pelos mtodos__set, __get e __call .
    • __set intercepta a atribuio de valores a propriedades do objeto (declaradas ou no).
    • __get intercepta requisies de propriedades do objeto (declaradas ou no).
    • __call Intercepta chamadas a mtodos. Executado automaticamente quando um mtodo inexistente for chamado.

29. Interceptao 30. Instanciao Dinmica 31. Tratamento de Erros

  • A forma de manipulao de erro mais simples abortar a execuo da aplicao atravs da funodie() .
  • Controlar erros assim geralmente ruim, pois abortar a execuo do programa normalmente no o comportamento desejado.

32. Gerao e Tratamento de Erros

  • A funotrigger_error()gera um erro de um tipo determinado.
  • Tipos de erro:
    • E_USER_ERROR Gera um erro fatal.
    • E_USER_WARNING Gera uma advertncia.
    • E_USER_NOTICE Gera uma notificao.
  • A funoset_error_handler()define uma funo para tratamento de erros.

33. Gerao e Tratamento de Erros 34. Excees

  • Uma exceo pode ser disparada (throw), ou capturada (catch).
  • Cdigo rodeado de um bloco try/catch, permite a captura de excees em potencial.
  • Vrios blocos catch podem ser usados para pegar diferentes classes de excees.
  • A execuo normal continuar aps o ltimo bloco catch definido na seqncia.
  • Quando uma exceo lanada, o fluxo normal de execuo interrompido e o PHP tentar achar o primeiro bloco catch correspondente exceo disparada.
  • Se uma exceo no for capturada, um Erro Fatal ser lanado com uma mensagem "Uncaught Exception ...", a no ser que um tratador tenha sido definido comset_exception_handler() .

35. Excees

  • Uma exceo um objeto da classe Exception que contm os seguintes mtodos:
  • getMessage()- Retorna a mensagem de erro.
  • getCode()- Retorna o cdigo de erro.
  • getFile()- Retorna o arquivo no qual ocorreu o erro.
  • getLine()- Retorna a linha na qual ocorreu o erro.
  • getTrace()- Retorna um array com as aes at o erro.
  • getTraceAsString()- Retorna as aes em forma de string.

36. Excees 37. Tratador de Excees

  • A funoset_exception_handler()define uma funo de tratamento de exceo padro se uma exceo no for capturada em um bloco try/catch.
  • A execuo no parar depois que a funo de tratamento for chamada.

38. Comparao de Objetos

  • Operador de comparao (==)
    • Objetos so iguais se possurem o mesmo contedo e forem instncias da mesma classe.
  • Operador de identidade (===)
    • Objetos so idnticos se referenciam a mesma instncia de uma mesma classe.

39. Comparao de Objetos 40. Comparao de Tipo

  • instanceof usado para determinar se um objeto de uma determinada classe: