Olá! Saturday, 12 de October de 2024.



Dicas CódigoFonte.net
Tuesday, 30 de May de 2006

Programação orientada a objectos em PHP

A programação orientada a objectos é uma metodologia de programação avançada e bastante estendida, na que os sistemas se modelam criando classes, que são um conjunto de dados e funcionalidades. As classes são definições, a partir das que se criam objectos. Os objectos são exemplares de uma classe determinada e como tal, dispõem dos dados e funcionalidades definidos na classe.

A programação orientada a objectos permite conceber os programas de uma maneira bastante intuitiva e próxima a realidade. A tendência é que um maior número de linguagens de programação adoptem a programação orientada a objectos como paradigma para modelar os sistemas. Prova disso é a nova versão de PHP (5), que possui a programação de objectos como metodologia de desenvolvimento. Também a Microsoft deu um giro em direção a programação orientada a objectos pois .NET dispõem de várias linguagens para programar e todas orientadas a objectos.

De este modo, a programação orientada a objectos é uma área de grande interesse, pois é muito utilizada e cada vez torna-se mais essencial para poder desenvolver em quase qualquer linguagem moderna. Neste artigo vamos ver alguma notações sobre a programação orientada a objectos em PHP. Ainda que sendo uma área bastante amplia e novidade para muitos e num principio difícil de assimilar, vamos tentar explicar a sintaxe básica de PHP para utilizar objectos, sem entrar em muita teoria de programação orientada a objectos em geral.

As classes: class

Uma classe é um conjunto de variáveis, chamados atributos, e funções, chamadas métodos, que trabalham sobre essas variáveis. As classes são uma definição: uma especificação de propriedades e funcionalidades de elementos que vão participar nos nossos programas.

Por exemplo, a classe "Caixa" teria como atributos características como as dimensões, cor, conteúdo e coisas semelhantes. As funções ou métodos que poderíamos incorporar a classe "Caixa" são as funcionalidades que queremos que realize a caixa, por exemplo introduz(), mostra_conteudo(), comprova_se_cabe(), vaziar()...

As classes em PHP definem-se da seguinte maneira:

conteudo = $coisa; } function mostra_conteudo(){ echo $this->conteudo; } } ?>

Neste exemplo criou-se uma classe Caixa, indicando como atributos a altura, a grossura, a largura e também a cor e o conteúdo. Para começar criaram-se um par de métodos, um para introduzir um elemento na caixa e outro para mostrar o conteúdo.

Se repararmos, os atributos definem-se declarando umas variáveis ao principio da classe. Os métodos definem-se declarando funções dentro de uma classe. A variável $this, utilizada dentro dos métodos será explicada um pouca mais em baixo.

Utilizar a classe

As classes são definições. Se queremos utilizar uma classe temos de criar um exemplar dessa classe, o que normalmente se chama instanciar um objectos de uma classe.

$minhacaixa = new Caixa;

Com isto criámos ou melhor dito, instanciámos, um objecto da classe Caixa chamado $minhacaixa

$minhacaixa->introduz("algo"); $minhacaixaa->mostra_conteudo();

Com estas duas sentenças estamos a introduzir "algo" na caixa e depois estamos a mostrar esse conteúdo no texto da página. Repara que os métodos de um objecto chamam-se utilizando o código "->".

nome_do_objecto->nome_do_metodo()

Para aceder aos atributos de uma classe também se acede com o código "->". Desta forma:

nome_do_objeto->nome_do_atributo

A variável $this

Dentro de um método, a variável $this faz referência ao objecto sobre o que invocamos o método. Na invocação $minhacaixa->introduz("algo") está-se a chamar ao método introduz sobre o objecto $minhacaixa. Quando se está a executar esse método, passa-se o valor que recebe por parâmetro ao atributo conteúdo. Neste caso $this->conteúdo faz referência ao atributo contido no objecto $minhacaixa, que é sobre o que se invocava o método.

Comentários do artigo [Novo comentário]

Emmanuel - 22 de January de 2008 - 09:02
Parabéns pelo tutorial Kennedy!
Emmanuel - 22 de January de 2008 - 09:38
Excelente!
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010