Tuesday, 30 de May de 2006
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:
class Caixa{
var $altura;
var $grossura;
var $largura;
var $conteudo;
var $cor;
function introduz($coisa){
$this->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.
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