SlideShare uma empresa Scribd logo
1 de 16
PHP5
e a orientação a objetos
Classes e Objetos
                                           PHP5
  PHP4                                     classes mais completas,
  classes simples                          uso de padrões
                                  class Var {
    class Var {                     private $a;
      var $a;                       private $b;
      var $b;                       private $c;
      var $c;
      function Var($a,$b,$c) {     public function
        ///atrubuiçoes                  __construct($a,$b,$c) {
      }                               ///atrubuiçoes
    }                              }
    $var = new Var('teste',        //getters
                     'pronto',     //setters
                     'frango');   }
                                  $var = new Var('teste',
                                                  'pronto',
                                                  'frango');
Construtores e Destrutores

           class Var {
             private $a;
             private $b;
             private $c;

               public function __construct($a,$b,$c) {
                 ///atrubuiçoes
               }
               public function __destruct() {
                 unset($this);
               }
           }



                                                         exemplo
Visibilidade

           Propriedades e Métodos

               public
               protected
               private




                                    exemplo
Abstração

            Classes e Métodos

            Não podem ser instanciadas




                                         exemplo
Interfaces

             Não podem ser instanciadas

             Metodos herdados devem ser implementados
             interface

             implements




                                                        exemplo
Iteração com Objetos

          foreach
          Mostra as propriedades publicas


                 $classe = new NovaClasse();
                 foreach($classe as $chave => $valor) {
                   print quot;$chave => $valornquot;;
                 }
Iteração com Objetos

        Interface Iterator
             Qualquer objeto define sua própria maneira de iterar
             Todos os métodos devem ser implementados




                                                                exemplo
Iteração com Objetos

        Interface IteratorAggregate
            Qualquer objeto define sua própria maneira de iterar
            Nem todos os métodos devem ser implementados
            Devemos ter uma classe Iterator para retornar
            Podemos criar collections




                                                               exemplo
Exceções

           Objeto Exception
           Throw e try/catch
           Controle de fluxo por exceções




                                            exemplo
Indução de tipo

          Maior controle sobre os dados
          Mais confiabilidade
          Somente para arrays e objetos
                           class MyClass {
                             public $var = 'Frango com Bacon';
                           }

                           function MyFunction (MyClass $foo) {
                             echo $foo->var;
                           }

                           $myclass = new MyClass;
                           MyFunction($myclass);
Padrões de Projeto ( design patterns )

          Reutilização de códigos
          Melhores práticas de programação
          Solução para problemas do dia a dia
Padrões de Projeto ( design patterns )

         Factory
              Criação de objetos em tempo de execução
              Fazer verificações antes de criar um objeto




                                                            exemplo
Padrões de Projeto ( design patterns )

         Singleton
              Única instância de uma determinada classe




                                                          exemplo
Padrões de Projeto ( design patterns )

         Outros Padrões

               Abstract Factory
               Composite
               Facade

               ...
Final =D


           PHP
           ( www.php.net )
           Design Patterns
           ( http://www.industriallogic.com/papers/learning.html )
           pQui Linux
           ( http://pqui.codigolivre.org.br/ )

           Pedro Ivo Branquinho Gimenes
           pedroivo.branquinho@gmail.com

Mais conteúdo relacionado

Mais procurados

Grails - Destaques (para quem já sabe Java)
Grails - Destaques (para quem já sabe Java)Grails - Destaques (para quem já sabe Java)
Grails - Destaques (para quem já sabe Java)Douglas Mendes
 
Objective-C para quem está chegando agora
Objective-C para quem está chegando agoraObjective-C para quem está chegando agora
Objective-C para quem está chegando agoraEduardo Costa
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosGeorge Mendonça
 
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)George Mendonça
 
(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScriptCarlos Santos
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Mario Jorge Pereira
 
(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012Luís Cobucci
 
Javascript The good, bad and ugly parts
Javascript The good, bad and ugly partsJavascript The good, bad and ugly parts
Javascript The good, bad and ugly partsFabian Carlos
 
(Re)pensando a OOP - Flisol Gyn
(Re)pensando a OOP - Flisol Gyn(Re)pensando a OOP - Flisol Gyn
(Re)pensando a OOP - Flisol GynLuís Cobucci
 

Mais procurados (20)

05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
Grails - Destaques (para quem já sabe Java)
Grails - Destaques (para quem já sabe Java)Grails - Destaques (para quem já sabe Java)
Grails - Destaques (para quem já sabe Java)
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Objective-C para quem está chegando agora
Objective-C para quem está chegando agoraObjective-C para quem está chegando agora
Objective-C para quem está chegando agora
 
Java script aula 08 - formulários
Java script   aula 08 - formuláriosJava script   aula 08 - formulários
Java script aula 08 - formulários
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e Objetos
 
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
 
Curso PHP: Básico JavaScript
Curso PHP: Básico JavaScriptCurso PHP: Básico JavaScript
Curso PHP: Básico JavaScript
 
(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
 
Boas Práticas em jQuery
Boas Práticas em jQueryBoas Práticas em jQuery
Boas Práticas em jQuery
 
Construtores Java
Construtores JavaConstrutores Java
Construtores Java
 
Javascript Ilegível
Javascript IlegívelJavascript Ilegível
Javascript Ilegível
 
(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012
 
Revisao php
Revisao phpRevisao php
Revisao php
 
OOP ObjC
OOP ObjCOOP ObjC
OOP ObjC
 
Java script1
Java script1Java script1
Java script1
 
Javascript The good, bad and ugly parts
Javascript The good, bad and ugly partsJavascript The good, bad and ugly parts
Javascript The good, bad and ugly parts
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
(Re)pensando a OOP - Flisol Gyn
(Re)pensando a OOP - Flisol Gyn(Re)pensando a OOP - Flisol Gyn
(Re)pensando a OOP - Flisol Gyn
 

Semelhante a Php5 e a orientação a objetos

Semelhante a Php5 e a orientação a objetos (20)

Aula5
Aula5Aula5
Aula5
 
Solid
SolidSolid
Solid
 
Introdução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com AjaxIntrodução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com Ajax
 
Java7
Java7Java7
Java7
 
Reflections
ReflectionsReflections
Reflections
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
 
Aula5
Aula5Aula5
Aula5
 
Doctrine2 Seminário PHP
Doctrine2 Seminário PHPDoctrine2 Seminário PHP
Doctrine2 Seminário PHP
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
Object Oriented Programming
Object Oriented Programming Object Oriented Programming
Object Oriented Programming
 
PowerShell
PowerShellPowerShell
PowerShell
 
3- POO
3- POO3- POO
3- POO
 
Poo
PooPoo
Poo
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens Poo
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
 
Minicurso groovy grails
Minicurso groovy grailsMinicurso groovy grails
Minicurso groovy grails
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Injeção de Dependências com PHP
Injeção de Dependências com PHPInjeção de Dependências com PHP
Injeção de Dependências com PHP
 

Php5 e a orientação a objetos

  • 2. Classes e Objetos PHP5 PHP4 classes mais completas, classes simples uso de padrões class Var { class Var { private $a; var $a; private $b; var $b; private $c; var $c; function Var($a,$b,$c) { public function ///atrubuiçoes __construct($a,$b,$c) { } ///atrubuiçoes } } $var = new Var('teste', //getters 'pronto', //setters 'frango'); } $var = new Var('teste', 'pronto', 'frango');
  • 3. Construtores e Destrutores class Var { private $a; private $b; private $c; public function __construct($a,$b,$c) { ///atrubuiçoes } public function __destruct() { unset($this); } } exemplo
  • 4. Visibilidade Propriedades e Métodos public protected private exemplo
  • 5. Abstração Classes e Métodos Não podem ser instanciadas exemplo
  • 6. Interfaces Não podem ser instanciadas Metodos herdados devem ser implementados interface implements exemplo
  • 7. Iteração com Objetos foreach Mostra as propriedades publicas $classe = new NovaClasse(); foreach($classe as $chave => $valor) { print quot;$chave => $valornquot;; }
  • 8. Iteração com Objetos Interface Iterator Qualquer objeto define sua própria maneira de iterar Todos os métodos devem ser implementados exemplo
  • 9. Iteração com Objetos Interface IteratorAggregate Qualquer objeto define sua própria maneira de iterar Nem todos os métodos devem ser implementados Devemos ter uma classe Iterator para retornar Podemos criar collections exemplo
  • 10. Exceções Objeto Exception Throw e try/catch Controle de fluxo por exceções exemplo
  • 11. Indução de tipo Maior controle sobre os dados Mais confiabilidade Somente para arrays e objetos class MyClass { public $var = 'Frango com Bacon'; } function MyFunction (MyClass $foo) { echo $foo->var; } $myclass = new MyClass; MyFunction($myclass);
  • 12. Padrões de Projeto ( design patterns ) Reutilização de códigos Melhores práticas de programação Solução para problemas do dia a dia
  • 13. Padrões de Projeto ( design patterns ) Factory Criação de objetos em tempo de execução Fazer verificações antes de criar um objeto exemplo
  • 14. Padrões de Projeto ( design patterns ) Singleton Única instância de uma determinada classe exemplo
  • 15. Padrões de Projeto ( design patterns ) Outros Padrões Abstract Factory Composite Facade ...
  • 16. Final =D PHP ( www.php.net ) Design Patterns ( http://www.industriallogic.com/papers/learning.html ) pQui Linux ( http://pqui.codigolivre.org.br/ ) Pedro Ivo Branquinho Gimenes pedroivo.branquinho@gmail.com