SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Aplicando Orientação a Objetos no SAEO

       Leonardo Soares e Marco Rosner


                AGOSTO/2009
Aplicando Orientação a Objetos no SAEO
Quem somos?

Leonardo Soares
- Graduado em Sistema de Informação pelo IFAL
- Analista e desenvolvedor do SAEO
- Fórum Nokia Champion


Marco Rosner
- Técnico em Administração e Projeto de Redes pelo CET/IFAL
- Graduado em Sistema de Informação pelo IFAL
- Analista e desenvolvedor do SAEO
Aplicando Orientação a Objetos no SAEO
Agenda


  - O que é o SAEO?
  - Importância da POO
  - Conceitos da OO
      - Classes e objetos
      - Métodos e atributos
      - Encapsulamento
      - Construtor e destrutor
      - Herança
      - Polimorfismo
  - Especificações da POO em PHP
Aplicando Orientação a Objetos no SAEO
O que é o SAEO?

Objetivo...
   - Oferecer agilidade no processo de compra
Garantir...
   - Validação dos dados
   - Atomicidade
   - Mobilidade das informações
Oferecendo...
   - Maior transparência
   - Maior descentralização
   - Maior controle do processo de compra
Aplicando Orientação a Objetos no SAEO
Importância da POO?

- Mapeamento


- Reusabilidade


- Organização


- Manutenção
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Classes e Objetos

- Classes
     - São descrições obtidas pelo mapeamento computacional do
       objeto real.


- Objetos
     - São instancias das classes, sendo eles que irão intervir no
       sistema.
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Classes e Objetos
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Métodos e Atributos

- Funcionalidades




- Características
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Métodos e Atributos
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Encapsulamento



      - Private: Apenas a própria classe pode acessar.


      - Public: Qualquer classe/objeto do sistema pode acessar.


      - Protected: Apenas a própria classe ou classes que a
                   herdam podem acessar.
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Encapsulamento
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Construtor e Destrutor
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Construtor e Destrutor




Saída:
Objeto Construído
Finalizou
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Herança

- Ato de herdar é obter características e funcionalidades de algo.
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Herança
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Polimorfismo

- Não obrigatoriedade de efetuar a mesma ação
- Sobrescrever metódos = Polimorfismo
Aplicando Orientação a Objetos no SAEO
Conceitos da OO: Polimorfismo
Aplicando Orientação a Objetos no SAEO
Operador de escopo


- Operador especial em PHP
- Atributos constantes
- Atributos e métodos estáticos
- Atributos e métodos da classe base
Aplicando Orientação a Objetos no SAEO
Atributos constantes
Aplicando Orientação a Objetos no SAEO
Atributos e métodos estáticos
Aplicando Orientação a Objetos no SAEO
Métodos especiais de PHP

Iniciam com __
- void __construct ([ mixed $args [, $... ]] )
- void __destruct ( void )
- void __set ( string $name , mixed $value )
- mixed __get ( string $name )
- __clone
- __autoload
Aplicando Orientação a Objetos no SAEO
__autoload
Aplicando Orientação a Objetos no SAEO
Verificar a existência de determinada classe


- Permite verificar se uma classe está definida no script
   bool class_exists ( string $class_name [, bool $autoload= true ] )




                                               Saída:

                                               bool(true)
Aplicando Orientação a Objetos no SAEO
Descobrir quais métodos e propriedades uma classe
possui
  array get_class_vars ( string $class_name )




             Saída:

             array(2) { ["telefone"]=> NULL ["sobrenome"]=> NULL }
Aplicando Orientação a Objetos no SAEO
Descobrir quais métodos e propriedades uma classe
possui
  array get_object_vars ( object $object )




                                             Saída:

                                             array(1) { ["telefone"]=> NULL }
Aplicando Orientação a Objetos no SAEO
Descobrir se determinado método ou atributo
pertence a classe
  bool method_exists ( mixed $object , string $method_name )

   bool property_exists ( mixed $class , string $property )




                                                               Saída:
                                                               bool(true)
                                                               bool(true)
                                                               bool(false)
                                                               bool(false)
                                                               bool(true)
Aplicando Orientação a Objetos no SAEO
Determinar a qual classe pertence um objeto

- Permite determinar a qual classe/sub-classe pertence uma instância

  bool is_a ( object $object , string $class_name )




                                                      Saída:

                                                      bool(false)
Aplicando Orientação a Objetos no SAEO
Determinar a qual classe pertence um objeto

- Permite identificar a qual classe/sub-classe pertence uma instância

   bool is_subclass_of ( mixed $object , string $class_name )




                                                    Saída:

                                                    bool(true)
Aplicando Orientação a Objetos no SAEO
Determinar a qual classe pertence um objeto

- Permite identificar a qual classe/sub-classe pertence uma instância

 string get_class ([ object $object ] )




                                          Saída:

                                          string(7) "Diretor"
Aplicando Orientação a Objetos no SAEO




              Obrigado !


              Perguntas ?
Aplicando Orientação a Objetos no SAEO



            Leonardo Soares
           lsoaresesilva@gmail.com




             Marco Rosner
           marco.rosner@gmail.com

Mais conteúdo relacionado

Mais procurados

Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – IIIGabriel Faustino
 
Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)guest18b3c00
 
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Professor Samuel Ribeiro
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaMoises Omena
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
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
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaArthur Emanuel
 
Aula 6 - K-NN (K vizinhos mais próximos)
Aula 6 - K-NN (K vizinhos mais próximos)Aula 6 - K-NN (K vizinhos mais próximos)
Aula 6 - K-NN (K vizinhos mais próximos)Thaís Gaudencio
 

Mais procurados (20)

Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
SCJA
SCJASCJA
SCJA
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)
 
03 poo
03 poo03 poo
03 poo
 
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
POO - 12 - A Classe Object
POO - 12 - A Classe ObjectPOO - 12 - A Classe Object
POO - 12 - A Classe Object
 
POO - 23 - Coleções da API do Java
POO -  23 - Coleções da API do Java POO -  23 - Coleções da API do Java
POO - 23 - Coleções da API do 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
Revisão Sobre Programação Orientada a Objetos com Java
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Aula 6 - K-NN (K vizinhos mais próximos)
Aula 6 - K-NN (K vizinhos mais próximos)Aula 6 - K-NN (K vizinhos mais próximos)
Aula 6 - K-NN (K vizinhos mais próximos)
 
Curso de PHP - Objetos
Curso de PHP - ObjetosCurso de PHP - Objetos
Curso de PHP - Objetos
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 

Destaque

Los movimientos del arte visual contemporaneo (1)
Los movimientos del arte visual contemporaneo (1)Los movimientos del arte visual contemporaneo (1)
Los movimientos del arte visual contemporaneo (1)Del Pilar Cruz
 
Consumo de videos mobile en Latino América
Consumo de videos mobile en Latino América Consumo de videos mobile en Latino América
Consumo de videos mobile en Latino América Maria Mora Lang
 
Medidas de seguridad 1
Medidas de seguridad 1Medidas de seguridad 1
Medidas de seguridad 1076819698
 
In Depth Workshop: Academy Development - Day 1 of 2 Day Workshop - Handouts
In Depth Workshop: Academy Development - Day 1 of 2 Day Workshop - HandoutsIn Depth Workshop: Academy Development - Day 1 of 2 Day Workshop - Handouts
In Depth Workshop: Academy Development - Day 1 of 2 Day Workshop - HandoutsNAFCareerAcads
 
Codes and conventions
Codes and conventionsCodes and conventions
Codes and conventionsrebecca
 
Manejo de los pacientes alcoholizados en urgencias
Manejo de los pacientes alcoholizados en urgenciasManejo de los pacientes alcoholizados en urgencias
Manejo de los pacientes alcoholizados en urgenciasYamireth Batista Araúz
 

Destaque (8)

Los movimientos del arte visual contemporaneo (1)
Los movimientos del arte visual contemporaneo (1)Los movimientos del arte visual contemporaneo (1)
Los movimientos del arte visual contemporaneo (1)
 
Consumo de videos mobile en Latino América
Consumo de videos mobile en Latino América Consumo de videos mobile en Latino América
Consumo de videos mobile en Latino América
 
Medidas de seguridad 1
Medidas de seguridad 1Medidas de seguridad 1
Medidas de seguridad 1
 
In Depth Workshop: Academy Development - Day 1 of 2 Day Workshop - Handouts
In Depth Workshop: Academy Development - Day 1 of 2 Day Workshop - HandoutsIn Depth Workshop: Academy Development - Day 1 of 2 Day Workshop - Handouts
In Depth Workshop: Academy Development - Day 1 of 2 Day Workshop - Handouts
 
ExcitacióN
ExcitacióNExcitacióN
ExcitacióN
 
Codes and conventions
Codes and conventionsCodes and conventions
Codes and conventions
 
Sex humana[1][1]
Sex humana[1][1]Sex humana[1][1]
Sex humana[1][1]
 
Manejo de los pacientes alcoholizados en urgencias
Manejo de los pacientes alcoholizados en urgenciasManejo de los pacientes alcoholizados en urgencias
Manejo de los pacientes alcoholizados en urgencias
 

Semelhante a Aplicando OO no SAEO

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfssuser6e99cd
 
Classes Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções JavaClasses Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções Javadanrleywillian1
 
Questionário sobre conceitos oo revisão da tentativa
Questionário sobre conceitos oo  revisão da tentativaQuestionário sobre conceitos oo  revisão da tentativa
Questionário sobre conceitos oo revisão da tentativaAluisioSantos4
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Ryan Padilha
 
Java orientação a objetos (introdução)
Java   orientação a objetos (introdução)Java   orientação a objetos (introdução)
Java orientação a objetos (introdução)Armando Daniel
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetosFrank Coelho
 
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
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04Antonio Alves
 
Php5 e a orientação a objetos
Php5 e a orientação a objetosPhp5 e a orientação a objetos
Php5 e a orientação a objetosxbacon
 

Semelhante a Aplicando OO no SAEO (20)

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Java7
Java7Java7
Java7
 
Aula4
Aula4Aula4
Aula4
 
Poo padadigmas
Poo padadigmasPoo padadigmas
Poo padadigmas
 
Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdf
 
Classes Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções JavaClasses Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções Java
 
Orientação à objetos conceituação
Orientação à objetos   conceituaçãoOrientação à objetos   conceituação
Orientação à objetos conceituação
 
Questionário sobre conceitos oo revisão da tentativa
Questionário sobre conceitos oo  revisão da tentativaQuestionário sobre conceitos oo  revisão da tentativa
Questionário sobre conceitos oo revisão da tentativa
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Java orientação a objetos (introdução)
Java   orientação a objetos (introdução)Java   orientação a objetos (introdução)
Java orientação a objetos (introdução)
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetos
 
Java 07
Java 07Java 07
Java 07
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e Objetos
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04
 
Classes e Estrutura de Dados
Classes e Estrutura de DadosClasses e Estrutura de Dados
Classes e Estrutura de Dados
 
Resumão java
Resumão javaResumão java
Resumão java
 
Php5 e a orientação a objetos
Php5 e a orientação a objetosPhp5 e a orientação a objetos
Php5 e a orientação a objetos
 
v
vv
v
 
Aula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aooAula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aoo
 

Aplicando OO no SAEO

  • 1. Aplicando Orientação a Objetos no SAEO Leonardo Soares e Marco Rosner AGOSTO/2009
  • 2. Aplicando Orientação a Objetos no SAEO Quem somos? Leonardo Soares - Graduado em Sistema de Informação pelo IFAL - Analista e desenvolvedor do SAEO - Fórum Nokia Champion Marco Rosner - Técnico em Administração e Projeto de Redes pelo CET/IFAL - Graduado em Sistema de Informação pelo IFAL - Analista e desenvolvedor do SAEO
  • 3. Aplicando Orientação a Objetos no SAEO Agenda - O que é o SAEO? - Importância da POO - Conceitos da OO - Classes e objetos - Métodos e atributos - Encapsulamento - Construtor e destrutor - Herança - Polimorfismo - Especificações da POO em PHP
  • 4. Aplicando Orientação a Objetos no SAEO O que é o SAEO? Objetivo... - Oferecer agilidade no processo de compra Garantir... - Validação dos dados - Atomicidade - Mobilidade das informações Oferecendo... - Maior transparência - Maior descentralização - Maior controle do processo de compra
  • 5. Aplicando Orientação a Objetos no SAEO Importância da POO? - Mapeamento - Reusabilidade - Organização - Manutenção
  • 6. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Classes e Objetos - Classes - São descrições obtidas pelo mapeamento computacional do objeto real. - Objetos - São instancias das classes, sendo eles que irão intervir no sistema.
  • 7. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Classes e Objetos
  • 8. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Métodos e Atributos - Funcionalidades - Características
  • 9. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Métodos e Atributos
  • 10. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Encapsulamento - Private: Apenas a própria classe pode acessar. - Public: Qualquer classe/objeto do sistema pode acessar. - Protected: Apenas a própria classe ou classes que a herdam podem acessar.
  • 11. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Encapsulamento
  • 12. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Construtor e Destrutor
  • 13. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Construtor e Destrutor Saída: Objeto Construído Finalizou
  • 14. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Herança - Ato de herdar é obter características e funcionalidades de algo.
  • 15. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Herança
  • 16. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Polimorfismo - Não obrigatoriedade de efetuar a mesma ação - Sobrescrever metódos = Polimorfismo
  • 17. Aplicando Orientação a Objetos no SAEO Conceitos da OO: Polimorfismo
  • 18. Aplicando Orientação a Objetos no SAEO Operador de escopo - Operador especial em PHP - Atributos constantes - Atributos e métodos estáticos - Atributos e métodos da classe base
  • 19. Aplicando Orientação a Objetos no SAEO Atributos constantes
  • 20. Aplicando Orientação a Objetos no SAEO Atributos e métodos estáticos
  • 21. Aplicando Orientação a Objetos no SAEO Métodos especiais de PHP Iniciam com __ - void __construct ([ mixed $args [, $... ]] ) - void __destruct ( void ) - void __set ( string $name , mixed $value ) - mixed __get ( string $name ) - __clone - __autoload
  • 22. Aplicando Orientação a Objetos no SAEO __autoload
  • 23. Aplicando Orientação a Objetos no SAEO Verificar a existência de determinada classe - Permite verificar se uma classe está definida no script bool class_exists ( string $class_name [, bool $autoload= true ] ) Saída: bool(true)
  • 24. Aplicando Orientação a Objetos no SAEO Descobrir quais métodos e propriedades uma classe possui array get_class_vars ( string $class_name ) Saída: array(2) { ["telefone"]=> NULL ["sobrenome"]=> NULL }
  • 25. Aplicando Orientação a Objetos no SAEO Descobrir quais métodos e propriedades uma classe possui array get_object_vars ( object $object ) Saída: array(1) { ["telefone"]=> NULL }
  • 26. Aplicando Orientação a Objetos no SAEO Descobrir se determinado método ou atributo pertence a classe bool method_exists ( mixed $object , string $method_name ) bool property_exists ( mixed $class , string $property ) Saída: bool(true) bool(true) bool(false) bool(false) bool(true)
  • 27. Aplicando Orientação a Objetos no SAEO Determinar a qual classe pertence um objeto - Permite determinar a qual classe/sub-classe pertence uma instância bool is_a ( object $object , string $class_name ) Saída: bool(false)
  • 28. Aplicando Orientação a Objetos no SAEO Determinar a qual classe pertence um objeto - Permite identificar a qual classe/sub-classe pertence uma instância bool is_subclass_of ( mixed $object , string $class_name ) Saída: bool(true)
  • 29. Aplicando Orientação a Objetos no SAEO Determinar a qual classe pertence um objeto - Permite identificar a qual classe/sub-classe pertence uma instância string get_class ([ object $object ] ) Saída: string(7) "Diretor"
  • 30. Aplicando Orientação a Objetos no SAEO Obrigado ! Perguntas ?
  • 31. Aplicando Orientação a Objetos no SAEO Leonardo Soares lsoaresesilva@gmail.com Marco Rosner marco.rosner@gmail.com