aplicando oo no saeo

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

Upload: phpal

Post on 28-Jun-2015

595 views

Category:

Technology


1 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Leonardo Soares e Marco Rosner

AGOSTO/2009

Page 2: Aplicando OO 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: Aplicando OO 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: Aplicando OO 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: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Importância da POO?

- Mapeamento

- Reusabilidade

- Organização

- Manutenção

Page 6: Aplicando OO 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: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Classes e Objetos

Page 8: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Métodos e Atributos

- Funcionalidades

- Características

Page 9: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Métodos e Atributos

Page 10: Aplicando OO 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: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Encapsulamento

Page 12: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Construtor e Destrutor

Page 13: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Construtor e Destrutor

Saída:

Objeto Construído

Finalizou

Page 14: Aplicando OO 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: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Herança

Page 16: Aplicando OO 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: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Conceitos da OO: Polimorfismo

Page 18: Aplicando OO 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: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Atributos constantes

Page 20: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Atributos e métodos estáticos

Page 21: Aplicando OO 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: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

__autoload

Page 23: Aplicando OO 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: Aplicando OO 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: Aplicando OO 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: Aplicando OO 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: Aplicando OO 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: Aplicando OO 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: Aplicando OO 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: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Obrigado !

Perguntas ?

Page 31: Aplicando OO no Saeo

Aplicando Orientação a Objetos no SAEO

Leonardo [email protected]

Marco [email protected]