php road show - aplicando orientação a objetos no saeo

31
Aplicando Orientação a Objetos no SAEO Leonardo Soares e Marco Rosner AGOSTO/2009

Upload: marco-rosner

Post on 08-Jul-2015

1.302 views

Category:

Education


3 download

DESCRIPTION

Slides apresentados no PHP Road Show, evento organizado pelo grupo de usuários PHP em Alagoas.

TRANSCRIPT

Page 1: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Leonardo Soares e Marco Rosner

AGOSTO/2009

Page 2: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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

Page 3: PHP Road Show - Aplicando Orientação a Objetos no 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

Page 4: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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

Page 5: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Importância da POO?

- Mapeamento

- Reusabilidade

- Organização

- Manutenção

Page 6: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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.

Page 7: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Classes e Objetos

Page 8: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Métodos e Atributos

- Funcionalidades

- Características

Page 9: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Métodos e Atributos

Page 10: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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.

Page 11: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Encapsulamento

Page 12: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Construtor e Destrutor

Page 13: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Construtor e Destrutor

Saída:

Objeto Construído

Finalizou

Page 14: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Herança

- Ato de herdar é obter características e funcionalidades de algo.

Page 15: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Herança

Page 16: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Polimorfismo

- Não obrigatoriedade de efetuar a mesma ação

- Sobrescrever metódos = Polimorfismo

Page 17: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Polimorfismo

Page 18: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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

Page 19: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Atributos constantes

Page 20: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Atributos e métodos estáticos

Page 21: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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

Page 22: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

__autoload

Page 23: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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)

Page 24: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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 }

Page 25: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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 }

Page 26: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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)

Page 27: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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)

Page 28: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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)

Page 29: PHP Road Show - Aplicando Orientação a Objetos no SAEO

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"

Page 30: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Obrigado !

Perguntas ?

Page 31: PHP Road Show - Aplicando Orientação a Objetos no SAEO

Aplicando Orientação a Objetos no SAEO

Leonardo [email protected]

Marco [email protected]