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

Preview:

DESCRIPTION

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

Citation preview

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 Soareslsoaresesilva@gmail.com

Marco Rosnermarco.rosner@gmail.com