PHP Orientado a Objetos 1


PHP

Eu aqui novamente para falar de um assunto que para muitos é a solução de todos os problemas e para outros é simplesmente o problema. Vou falar sobre programação orientada a objetos usando PHP.

Mas afinal o que é Orientação a Objetos?

Ela é uma maneira de programar que modela os processos de uma maneira mais próxima da realidade, tratando cada componente de uma aplicação como um objeto, onde esse objeto possui suas características e funcionalidades.

Na versão 4 do PHP, já era possível programar dessa maneira, mas na versão 5 isso se ternou mais fácil e eficaz, pois o tratamento de objetos foi reescrito, permitindo assim mais recursos, performance e vantagens em seu uso.

Classes e Objetos

Classe é uma estrutura fundamental para criação do objeto, ela possui um conjunto de variáveis e métodos de maneira organizada, que serão utilizados como um novo tipo e instanciará um objeto. O objetivo da classe é criar um objeto que é uma representação desta classe em uma variável.

Exemplo de Classe:

<?
// Classe Pessoa
class pessoa{
public $nome;
public $humor;
function setNome($pNome){
$this->nome = $pNome;
}
function getNome(){
return $this->nome = $pNome;
}
function getNome(){
return $this->nome;
}
function setHumor($pHumor){
$this->humor = $pHumor;
}
function getHumor(){
return $this->humor;
}
function falar(){
echo $this->getNome() . ‘ está ‘ . $this->getHumor();
}
}
?>

Aí criamos uma classe que instanciará um objeto, no nosso caso, uma pessoa. Ela tem duas propriedades ($nome e $humor), e três métodos (setNome($nome), setHumor($humor), getNome(), getHumor() e falar()). Agora, criando um objeto a partir dessa classe, vamos ver o que podemos fazer com ela:

$pessoa = new pessoa; // Instanciamos o objeto “pessoa”
$pessoa->setNome( “Tiago” ); // Setamos $pessoa->nome;
$pessoa->setHumor( “Feliz” ); // Setamos $pessoa->humor;
$pessoa->falar(); // Chamamos o método $pessoa->falar();

Como você deve ter visto, instanciamos um objeto utilizando o operador new. Para utilizarmos as propriedades e métodos da classe, devemos utilizar o operador ->, como vimos acima.

A variável $this

Quando definimos uma classe podemos usar a variável $this que é o próprio objeto. Quanto uma classe é instanciada em um objeto, e utilizamos a variável $this, essa variável se refere ao objeto que estamos utilizando.

Herança

Herança é uma forma de reutilização de código onde novas classes são criadas a partir da existência de outras classes, herdando seus atributos e métodos, e incluindo outros que sejam necessários. Vamos ver como fica a aplicação de herança na classe pessoa.

<?
class raca extends pessoa{
public $raca;
function setRaca($raca){
$this->raca = $raca;
}
function getRaca(){
$this->raca = $raca;
}
function falar(){
echo $this->getNome(). ‘ é da raça ‘ . $this-> getRaca();
}
}
?>

A classe raca, acima, herdou todas as propriedades e métodos da sua classe pai, pessoa. Além disso, foi adicionado um método setRaca($raca), getRaca(), e o método falar() foi reescrito. Usando sub-classes, é possível redefinir métodos e propriedades, e acrescentar outros, dependendo das necessidades.

Espero que tenha dado uma boa idéia do que é orientação a objetos. Vou fazer uma continuação e na próxima parte, explicarei encapsulamento, métodos construtores e destrutores e métodos e propriedades estáticas. Se eu esquecer me cobrem.

Últimos 5 artigos de Tiago Souza

Sobre Tiago Souza

De Campinas-SP, bacharel em Ciência da Computação pela Anhanguera Educacional. Técnico em Processamento de Dados pelo Cotuca é desenvolvedor Web e trabalhou dois anos com desenvolvimento PHP e Java. Atualmente trabalha como desenvolvedor .Net (C#). Utilizando metodologia SCRUM, Também desenvolve aplicativos para Android por prazer.

Deixe uma resposta