Programação Orientada a Objetos no PHP5

Veja neste artigo algumas novidades do PHP5 para se trabalhar com Programação Orientada a Objetos.


Figura 1: Orientação a Objetos no PHP5

INTRODUÇÃO

A orientação a objetos é um paradigma que representa toda uma filosofia para construção de sistemas. Ao invés de construirmos um sistema formado por um conjunto de procedimentos e variáveis, nem sempre agrupadas de acordo com o contexto, como fazíamos em linguagens estruturadas (Cobol, Clipper, Pascal), na orientação a objetos, utilizamos uma ótica mais próxima do mundo real. Trabalhamos com objetos, estruturas que já conhecemos no nosso dia-a-dia e sobre as quais já possuímos maior entendimento.

Ao trabalharmos com orientação a objetos, é fundamental entendermos o conceito de classe e objeto. Uma classe é uma estrutura que define o tipo de dados, podendo conter variáveis (atributos) e também funções (métodos) para manipular esses atributos.

ALGUMAS CARACTERISTICAS DE TRABALHAR COM POO EM PHP5

Iremos ver uma lista das novas características da programação orientada a objetos (POO) em PHP5. Porém, não iremos descrever detalhadamente cada uma destas características.

CLASSES

As classes, em programação orientada a objetos (POO), são definições dos elementos que formam um sistema, neste caso, definições dos objetos que vão intervir em nossas aplicações.

Um objeto se define indicando que propriedades e funcionalidades tem. Justamente essas declarações são o que formam uma classe. Quando fizemos uma classe simplesmente especificamos que propriedades e funcionalidades têm. Exemplo, um homem poderia ter como propriedades o nome, sobrenome, endereço e como funcionalidades, comer, mover-se ou dormir.

Criaremos uma classe homem a seguir como modelo, e declararemos dois atributos: o nome e o sobrenome que vem a ser duas variáveis. E também criaremos três métodos, com os procedimentos a seguir para que o homem possa comer, mover-se ou dormir. Estes métodos são definidos através de declaração de funções dentro da nossa classe.

Observação: É recomendável iniciarmos os nomes de classes com a letra maiúscula ede preferência" evitarmos a utilização do caractere “_”. Por exemplo,utilize NomeDaClasse e não Nome_da_Classe e não Nome_da_Classe.

Listagem 1: Exemplo de classe com funções

<?php class Homem { var $nome; var $sobrenome; function comer ($comendo) { // Aqui o código do método } function moverse ($movendo) { // Aqio o código do método } function dormir ($dormindo) { // Aqui o código do método } } ?>

Podemos observar que esse código não traz diferença alguma das versões anteriores do PHP, que já tinha suporte a certas características do POO. Isso mudará quando exploramos um pouco mais as características mais avançadas do PHP5, que implementam melhoras que não estavam presente nas versões anteriores.

INSTANCIANDO OBJETO A PARTIR DA CLASSE

Podemos ver que uma classe é apenas uma definição. Porém, se quisermos trabalhar com as classes devemos instanciar objetos, processo que consiste em gerar um exemplar de uma classe. Como exemplo, temos a classe Homem que criamos anteriormente. Com essa classe em si não podemos fazer nada, mas podemos criar o objeto homem a partir dela. Cada objeto homem terá suas características próprias, como o nome ou o sobrenome. Ademais, poderá desempenhar uma função como comer ou mover-se, agora também, cada um comerá ou se moverá por sua própria conta quando lhe for solicitado, sem interferir à princípio no que pode estar fazendo outro homem.

Vamos aproveitar para vermos como fizemos para gerarmos dois homens, ou seja, como instanciaríamos dois objetos da classe Homem. Para isto utilizamos o operador new.

É importante nos darmos conta da diferença entre um objeto e uma classe. A classe é uma definição das características e funcionalidades, algo abstrato que se concretiza com a instanciação de um objeto de tal classe.

Um objeto já tem propriedades, com seus valores concretos, e podem ser passadas mensagens (chamar aos métodos) para que façam coisas.

CONSTRUTORES

Os construtores tem como função resumir as ações de iniciação dos objetos. Quando instanciamos um objeto, temos que realizar diversos passos em sua iniciação, como dar valores a seus atributos, e disso que se encarrega o construtor. Os construtores podem receber dados para iniciar os objetos como se deseje em cada caso.

A sintaxe para a criação de construtores varia em relação ao PHP 3 e 4, pois se deve chamar com um nome fixo __construct (são dois underlines antes da palavra construct).

Listagem 2: Exemplo __construct

function __construct($nome,$sobrenome) { $this->nome=$nome; $this->numero=$sobrenome; }

DESTRUTORES

Os destrutores são funções que se encargam de realizar as tarefas que se necessita executar quando um objeto deixa de existir. Quando um objeto já não está referenciado por nenhuma variável, deixa de ter sentido que esteja armazenado na memória, entretanto, o objeto deve ser destruído para liberar seu espaço. No momento de sua destruição, a função se chama destrutor, que pode realizar as tarefas que o programador achar oportuno realizar.

Porém, a criação de um destrutor é opcional. Somente devemos cria-lo, se desejarmos fazer alguma coisa quando um objeto se elimine da memória.

O destrutor é como qualquer outro método da classe, embora deve se declarar com um nome fixo: __destruct (são dois hifens baixos underlines antes da palavra destruct).

Listagem 4: Exemplo _destruct

function __destruct () { "<br>destruido:" . $this->nome; }

Assim concluímos este artigo, onde tivemos como objetivo conhecer um pouco dos novos recursos disponíveis no PHP5 para orientação a objetos. Espero que o tema tenha sido de agrado e compreensão a todos os leitores.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados