O objetivo dessa palestra é passar os conceitos da programação Orientada a Objetos em PHP tomando como referência o Sistema de Acompanhamento e Execução Orçamentária – SAEO – que está sendo desenvolvido para o Instituto Federal de Educação, Ciência e Tecnologia de Alagoas – IFAL.
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.
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.
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
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
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"