Sei sulla pagina 1di 43

PHP: Programando com

Orientao a Objetos
Pablo Dall'Oglio
Adianti Solutions
www.adianti.com.br

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Roteiro

Conceitos de Orientao a Objetos;


Classes, objetos, propriedades, mtodos;
Mtodos construtores e destrutores;
Associao, agregao, composio e herana;
Encapsulamento e polimorfismo;
Exemplos prticos.

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Introduo Programao Estruturada

Vamos entender como surgiu a Orientao a Objetos;


Como era a programao antes da O.O. ?
O paradigma que reinava era a programao estruturada;
A programao estruturada introduziu conceitos
importantes na engenharia de software em sua poca;
baseada fortemente na modularizao;
A idia da modularizao dividir o programa em
unidades menores conhecidas por procedimentos ou
funes, que so construdas para desempenhar uma
tarefa especfica;

E Processo S

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Introduo Programao Estruturada

Na programao estruturada, as unidades do cdigo


(funes) se interligam por meio de trs mecanismos
bsicos: seqncia, deciso e iterao, como ilustrado na
figura a seguir:

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Introduo Programao Estruturada

As funes ou procedimentos e podem ser executados


vrias vezes;
As funes podem receber parmetros fazendo com que o
resultado do seu processamento interno varie de acordo
com os argumentos (parmetros) de entrada;
possvel executar uma funo sob diversas circunstncias
diferentes;
Estes itens configuram um importante conceito da
engenharia de software: o REUSO;
Alm disto, uma boa modularizao deve ter alta coeso e
baixo acoplamento;

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Anlise Estruturada

Anlise Estruturada: Em primeiro lugar se pensa nos dados e


nas estruturas que iro armazen-los (E.R.).

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Anlise orientada a objetos

Anlise O.O.: Em primeiro lugar se pensa nos conceitos, seus


atributos, seu comportamento e nos seus relacionamentos.

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Anlise orientada a objetos

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Objetos

O sistema organizado atravs de um conjunto de objetos;


Uma entidade que possui atributos, comportamento e se
relaciona com outros objetos por meio de mensagens;
Um objeto pode ser algo concreto (pessoa, bicicleta, um
pedido) ou abstrato (uma boto, uma janela, um arquivo);
O objeto possui responsabilidade sobre si (encapsulamento);
Os objetos propiciam maior compreenso do mundo real;
A orientao a objetos leva um baixo grau de acoplamento;
Algumas linguagens Orientadas a Objetos:
Smaltalk;
C++;
Java;
PHP;
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Objetos

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Classes

A classe uma estrutura esttica utilizada para descrever


(moldar) objetos;
A classe um modelo (template) para criao de objetos;
Podem ser classes: entidades do negcio da aplicao
(pessoa, conta, cliente), entidades de interface (janela,
boto, painel, frame, barra), dentre outras (conexo com
BD, um arquivo XML, um Web Service);
Um grupos de objetos descrito por uma classe;
Um objeto uma instncia de uma classe.
Exemplo:
Classe: Fatura / Objeto: Fatura no. 5470
Classe: Pessoa / Objeto: Joo, Maria, etc...

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Propriedades

Propriedades so Atributos, caractersticas de um objeto;


Os atributos definem a identidade de um objeto;
Exemplo: Ns, seres humanos, somos definidos pelo conjunto
de nossos atributos: fsicos (algura, cor da pele, algura, cor do
cabelo), psicolgicos (personalidade, humor, empatia), de
trabalho (capacidade, especializao, criatividade), de estudo
(nvel de escolaridade), dentre outros.

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Mtodos

Os mtodos so operaes que definem o comportamento


de um objeto;
Os mtodos definem como o objeto ir se relacionar com o
mundo externo;
por meio de um mtodo, que solicitamos que um objeto
faa algo.

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Definindo uma classe

<?php
class Pessoa
{
// define os atributos
public $Codigo;
public $Nome; Atributos
public $Altura;
public $Idade;

// define os mtodos
function setNome($nome)
{
Mtodos
$this->Nome = $nome;
}

function Crescer($centimetros)
{ Mtodos
$this->Altura += $centimetros;
}

function Envelhecer($anos)
{ Mtodos
$this->Idade += $anos;
}
}
?>
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Instanciando Objetos

<?php
// inclui a classe
include 'pessoa.class.php';

// instancia o objeto
$maria = new Pessoa; Instanciando o objeto

// define aributos
$maria->Altura = 1.7;
$maria->Idade = 28;

// executa mtodos
$maria->setNome('Maria da Silva'); output
$maria->Crescer(0.1); object(Pessoa)#1 (4) {
$maria->Envelhecer(1); ["Codigo"]=> NULL
["Nome"]=>
// imprime o objeto string(14) "Maria da Silva"
var_dump($maria); ["Altura"]=> float(1,8)
?> ["Idade"]=> int(29)
}
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Instanciando Objetos

<?php
//instanciaumobjeto(janela)
$janela=newGtkWindow;
//defineotamanhodajanela
$janela->set_size_request(300,200);

//instanciaumrtulodetexto
$label=newGtkLabel('OlMundo');
//adicionaortulojanela
$janela->add($label);
//exibeajanela
$janela->show_all();

//controleGtk
Gtk::Main();
?>

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Construtores e destrutores

Um construtor um mtodo especial utilizado para definir


o comportamento inicial de um objeto, ou seja, o
comportamento no momento de sua criao;
O mtodo construtor executado automaticamente no
momento em que instanciamos um objeto por meio do
operador new;
Um mtodo destrutor ou finalizador um mtodo especial
executado automaticamente quando o objeto desalocado
da memria, quando atribumos o valor NULL ao objeto,
quando utilizamos a funo unset() sobre o mesmo ou, em
ltima instncia, quando o programa finalizado;
O mtodo destrutor pode ser utilizado para finalizar
conexes, apagar arquivos temporrios criados durante o
ciclo de vida do objeto, dentre outros.

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Construtores e destrutores

<?php output
class Pessoa
{ object(Pessoa)#1 (2) {
public $Codigo; ["Codigo"]=> int(27)
public $Nome; ["Nome"]=>
string(14) "Maria da Silva"
// mtodo construtor }
function __construct($codigo, $nome)
{ object(Pessoa)#2 (2) {
$this->Codigo = $codigo;
["Codigo"]=> int(28)
$this->Nome = $nome;
} ["Nome"]=>
string(14) "Joana Maranho"
// mtodo destrutor }
function __destruct()
{ desalocando Maria da Silva
echo "desalocando {$this->Nome}\n"; desalocando Joana Maranho
}
}

$maria = new Pessoa(27, 'Maria da Silva'); Mtodo construtor


$joana = new Pessoa(28, 'Joana Maranho');
var_dump($maria, $joana);
unset($maria); Mtodo destrutor
unset($joana);
?>
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Encapsulamento

As classes so orientadas ao assunto, ou seja, cada classe


responsvel por um assunto diferente e responsvel
sobre o mesmo, ou seja, deve proteger o seu acesso;
A proteo ao acesso ao seu contedo se d por meio de
mecanismos como o de encapsulamento;
O encapsulamento visa separar os aspectos externos de
um objeto dos detalhes internos daquele objeto.
uma forma de proteger certos atributos, evitando que os
mesmos contenham valores inconsistentes ou sejam
manipuladas indevidamente;
Exemplo: Datas, Valores Numricos;

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Estrutura de um Objeto

dados

mensagem

funes
(mtodos)
que manipulam
os dados

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Encapsulamento
<?php output
class Pessoa
{ Fatal error: Cannot access private
private $Codigo; property Pessoa::$Altura in
public $Nome; exemplo.php on line 25
private $Altura;

function __construct($codigo)
{
$this->Codigo = $codigo; Tipos de visibilidade
} PRIVATE :: SOMENTE PRPRIA CLASSE
PROTECTED :: CLASSE E DESCENDENTES
function setAltura($altura)
{
PUBLIC :: DE QUALQUER PONTO
$this->Altura = $altura;
}
}

$maria = new Pessoa(27);


$maria->Nome = 'Maria da Silva';
$maria->setAltura(1.7);

$joana = new Pessoa(28);


$joana->Nome = 'Joana Maranho';
$joana->Altura = 1.8; Acesso no permitido
?>
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Associaes

Associao a relao mais comum entre dois objetos;


Na associao, um objeto possui uma referncia outro
objeto, podendo visualizar seus atributos ou mesmo
acionar uma de suas funcionalidades (mtodos);
A forma mais comum de implementar uma associao
ter um objeto como atributo de outro;
No exemplo a seguir, criamos um objeto do tipo Produto
e outro do tipo Fornecedor;
Um dos atributos do produto o fornecedor;
Leia-se um objeto est relacionado com outro
objeto;

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Associaes

Exemplo em diagrama UML

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Associaes

<?php <?php
classProduto classFornecedor
{ {
public$Codigo; public$Nome;
public$Descricao; public$Telefone;
public$Preco; public$Endereco;
public$Fornecedor; }
?>
// exibe os dados do produto
functionExibeDados()
{
echo'Codigo:'.$this->Codigo."<br>\n";
echo'Descricao:'.$this->Descricao."<br>\n";
echo'Preo:'.$this->Preco."<br>\n";
echo'Fornecedor:'.$this->Fornecedor->Nome."<br>\n";
}

// atribui um fornecedor ao produto


function setFornecedor(Fornecedor $fornecedor)
{
$this->Fornecedor = $fornecedor; Associao interna
}
}
?>

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Associaes

<?php
include_once'classes/Produto.class.php';
include_once'classes/Fornecedor.class.php';

$macarrao=newProduto;

$macarrao->Codigo =7;
$macarrao->Descricao ='Macarroinstantneo'; output
$macarrao->Preco =1.29;
$macarrao->Quantidade=10; Codigo: 7
Descricao: Macarro instantneo
$isabela=newFornecedor; Preo: 1,29
$isabela->Nome ='MassasIsabela'; Fornecedor:Massas Isabela
$isabela->Telefone='(51)1234-5678';
$isabela->Endereco ='RuadasMassas';

//associacao
$macarrao->setFornecedor($isabela); Mtodo de associao
//exibeasinformacoes
$macarrao->ExibeDados();
?>

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Agregao

A agregao o tipo de relao entre objetos conhecida


como todo/parte;
Na agregao, um objeto agrega outro objeto, ou seja,
referencia objeto(s) externo dentro de si;
O objeto-pai poder agregar uma ou muitas instncias de
um outro objeto e poder utilizar funcionalidades do
objeto agregado;
A forma mais simples de implementar agregaes
utilizando arrays;
Criamos um array como atributo do objeto, sendo que o
papel deste array armazenar inmeras instncias de um
outro objeto;
Leia-se um objeto contm instncias de outros
objetos.
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Agregao

Exemplo em diagrama UML

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Agregao
<?php
classCestaDeCompras
{
private$Produtos;//colecaodeobjetos(array)
functionAdicionarItem(Produto$produto)
{
$this->Produtos[]=$produto; Mtodo de agregao
}
functionExibeLista()
{
foreach($this->Produtosas$produto)
{
echo$produto->Descricao."<br>\n";
}
}
functionCalculaTotal()
{
$total=0;
foreach($this->Produtosas$produto)
{
$total+=$produto->Preco;
}
return$total;
}
}
?>
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Agregao
<?php
classProduto
{ output
public$Codigo;
public$Descricao; Chocolate Sensao
public$Preco; Picanha Bovina
} Total : 19,2
$chocolate=newProduto;
$chocolate->Codigo=4;
$chocolate->Descricao='ChocolateSensao';
$chocolate->Preco=1.2;

$picanha=newProduto;
$picanha->Codigo=7;
$picanha->Descricao='PicanhaBovina';
$picanha->Preco=18;

$cesta=newCestaDeCompras;
$cesta->AdicionarItem($chocolate); Chamada agregao
$cesta->AdicionarItem($picanha);

$cesta->ExibeLista();
echo'Total:';
echo$cesta->CalculaTotal();
?>
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Composio

Composio tambm uma relao todo/parte;


A diferena em relao agregao que, na
composio, o objeto-pai ou todo responsvel
pela criao e destruio de suas partes;
O objeto-pai realmente possui a(s) instncia(s) de
suas partes. Diferentemente da agregao, na qual o
todo e as partes so independentes;
Na agregao, ao destruirmos o objeto todo as
partes permanecem na memria, por terem sido
criadas fora do escopo da classe todo. J na
composio, quando o objeto todo destrudo,
suas partes tambm so;
Leia-se um objeto composto de outros objetos;

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Composio

Exemplo em diagrama UML

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Composio
<?php <?php
class Fornecedor class Contato
{ {
public $Codigo; public $Nome;
public $RazaoSocial; public $Telefone;
public $Contatos; public $Email;
}
function addContato($nome, $telefone, $email) ?>
{
$contato = new Contato;
$contato->Nome = $nome;
$contato->Telefone = $telefone; Mtodo de composio
$contato->Email = $email;
$this->Contatos[] = $contato;
}

function ImprimeContatos()
{
foreach ($this->Contatos as $contato)
{
var_dump($contato);
}
}
}
?>

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Composio
<?php
include_once 'classes/Fornecedor.class.php';
include_once 'classes/Contato.class.php';

// instancia novo fornecedor


$fornecedor = new Fornecedor;
$fornecedor->Codigo = 10;
$fornecedor->RazaoSocial = 'Produtos Bom Gosto S.A.';

// atribui informaes de contato


$fornecedor->addContato('Mauro', '51 1234-5677', 'mauro@bomgosto.com.br');
$fornecedor->addContato('Maria', '51 1234-5678', 'maria@bomgosto.com.br');
$fornecedor->addContato('Joana', '51 1234-5679', 'joana@bomgosto.com.br');

// debug output
var_dump($fornecedor);
?> Fornecedor Object
( [Codigo] => 10
[RazaoSocial] => Produtos Bom Gosto S.A.
[Contatos] => Array
[0] => Contato Object
[Nome] => Mauro
[Telefone] => 51 1234-5677
[Email] => mauro@bomgosto.com.br
[1] => Contato Object ...
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Herana

Um dos maiores benefcios na utilizao da orientao a


objetos o reuso;
A possibilidade de reutilizar partes de cdigo nos d maior
agilidade no dia-a-dia, alm de eliminar a necessidade de
eventuais duplicaes ou reescritas de cdigo;
Uma herana um tipo de relacionamento que permite
especializar uma classe, criar verses refinadas dela;
Na herana, as classes so organizadas em hierarquias;
A herana uma forma de reutilizar componentes de
software aperfeioando-os ou adicionando caractersticas
especficas;

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Hierarquia de Classes

Super classe

Sub classes

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Hierarquia de Classes

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Herana

A herana permite o compartilhamento de atributos e


mtodos entre as classes de uma hierarquia;
Cada subclasse herda todas as propriedades (atributos
e mtodos) de suas ancestrais;
Uma subclasse pode estender ou redefinir a estrutura
e/ou o comportamento de sua super classe;
Leia-se um objeto tipo de outro objeto;
um poderoso instrumento de reusabilidade, pois:
permite que atributos e operaes comuns
hierarquia sejam especificados apenas uma vez;
Permite que novas classes sejam criadas contendo
apenas a diferena entre ela e a classe-pai.

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Herana

<?php
abstractclassConta Uma classe abstrata
{
no pode ser instanciada
private $Agencia;
private $Numero; diretamente.
protected$Saldo;

function__construct($agencia,$numero,$saldo)
{
$this->Agencia=$agencia;
$this->Numero=$numero;
$this->Saldo=$saldo;
}

functionDepositar($valor)
{
$this->Saldo+=$valor;
}

functiongetSaldo()
{
return$this->Saldo;
}
}
?>
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Herana

<?php
finalclassContaCorrenteextendsConta
{ Uma classe final no
public$Limite; pode ser extendida.
Classe filha
functionRetirar($valor)
{
if($this->Saldo+$this->Limite>$valor)
{
$this->Saldo-=$valor;
}
}
}

finalclassContaPoupancaextendsConta
{
functionRetirar($valor)
{
if($this->Saldo>$valor) Classe filha
{
$this->Saldo-=$valor;
}
}
}
?>
Pablo Dall'Oglio [pablo@php.net]
Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Herana

<?php
include_once'classes/Conta.class.php';
include_once'classes/ContaPoupanca.class.php'; output
include_once'classes/ContaCorrente.class.php'; saldo conta1: 100
$conta1=newContaPoupanca('1','123',100); saldo conta2: 200
$conta2=newContaCorrente('2','456',200); saldo conta1: 400
$conta2->Limite=500; saldo conta2: 700
saldo conta1: 400
echo'saldoconta1:'.$conta1->getSaldo();//exibir100
echo'saldoconta2:'.$conta2->getSaldo();//exibir200 saldo conta2: -499

$conta1->Depositar(300);
$conta2->Depositar(500);

echo'saldoconta1:'.$conta1->getSaldo();//exibir400
echo'saldoconta2:'.$conta2->getSaldo();//exibir700

$conta1->Retirar(500);//saldomaximoe400,naodevepermitir
$conta2->Retirar(1199);//200+500+500(limite)saldo= 1200(permitir)

echo'saldoconta1:'.$conta1->getSaldo();//exibir400
echo'saldoconta2:'.$conta2->getSaldo();//exibir-499
?>

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
O que um sistema O.O. ?

Um sistema OO modelado, implementado e


efetivamente funciona como um conjunto de objetos
que interagem entre si.

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos
www.adianti.com.br/phpoo
Leitura Recomendada :-)

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos 42
www.adianti.com.br/phpoo
Obrigado!

E-Mail
pablo@php.net
pablo@dalloglio.net
URL
http://www.adianti.com.br
http://www.pablo.blog.br

Pablo Dall'Oglio [pablo@php.net]


Introduo Orientao a Objetos :: com exemplos do livro PHP Programando com Orientao a Objetos 43
www.adianti.com.br/phpoo

Potrebbero piacerti anche