PHP Road Show - Aplicando Orientação a Objetos no SAEO
-
Upload
marco-rosner -
Category
Education
-
view
1.305 -
download
3
description
Transcript of PHP Road Show - Aplicando Orientação a Objetos no SAEO
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 ?