Essa é a segunda parte da saga POO em PHP, se você não leu a parte 1 CLIQUE AQUI e dê uma olhada antes.
Hoje falarei sobre herança e faremos alguns exemplos. Irei lentamente, pois esse assunto é um pouco complicado de entender. Então vamos nessa!
Continue Lendo
Arquivos da categoria: PHP
POO(Programação orientada a Objetos) em PHP (parte 1)
Há um falatório muito grande em cima deste conceito. Muitas pessoas acreditam que em PHP não existe Orientação a Objeto.
A verdade é que ela é Orientada a Objeto desde a sua versão 3.0 apesar de ser uma coisa muito porca e mal feita, pois somente dava suporte a sintaxe e não permitia a correta utilização do conceito em si. A partir da versão 4 veio uma coisa mais inteligente, porém ainda longe da POO real.
No PHP5 sim, vieram os conceitos de visibilidade, interface, clonagem e tipagem dos parâmetros. Então para poder visualizar os exercícios abaixo você deve ter instalado em sua maquina o PHP5.
Bom, chega de lero-lero e vamos ao que interessa: a Orientação de Objetos em PHP!
Para se declarar uma classe, usamos da sintaxe abaixo (apesar do exemplo ser clássico vale a pena usá-lo):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
class Poligono { <span> </span>public $lados = array(); <span> </span>function __construct( $parLados) { <span> </span>echo('Objeto CONSTRUIDO<BR>'); <span> </span>$this->lados=$parLados; <span> </span>print_r($this->lados); <span> </span>} <span> </span>function __destruct ( ) { <span> </span>echo('<BR>Objeto destruído<BR>'); <span> </span>} <span> </span>function perimetro(){ <span> </span>$auxPerimetro = 0; <span> </span>foreach ($this->lados as $l) { <span> </span>$auxPerimetro +=$l; <span> </span>} <span> </span>return $auxPerimetro; <span> </span>} } $l = array(10,20,30); $pol = new Poligono($l); echo('<BR> o perimetro do poligono é:'.$pol->perimetro()); |
Note que temos em nossa classe 2 métodos diferentes, o método contruct e o destruct. Usamos essas duas funções para realizar os passos necessários ao se instanciar um objeto e ao liberá-lo da memória respectivamente.
No exemplo acima, ao instanciar o polígono recebemos por parâmetro a base e a altura do mesmo para assim poder setar os atributos da classe com os valores passados por parâmetro.
Então resumindo a obra, o método construct é o método construtor da classe, quando criamos um objeto dessa classe o método construct é acionado assim como no exemplo acima, recebe por parâmetro os lados do polígono e inicializa o atributo da classe polígono. E depois quando é finalizado o programa, o PHP automaticamente libera o objeto da memória, dispara o método destruct e exibe a mensagem do objeto destruído.
Se você copiar o código acima e rodar você receberá isso como resposta.
Esse é nosso primeiro passo em relação à POO em PHP, aqui você aprendeu como se declara uma classe e o para que serve o método costruct e destruct. No próximo artigo veremos o como se trabalha com sobrecarga de métodos e alguns controladores que agora lhe parecem estranhos como o $this, até lá.