Ŧá๒i๏ รilvค™ 491 Posted August 2, 2012 Uma classe é um conjunto de variáveis e funções relacionadas com essas variáveis. A vantagem da sua utilização é poder usufruir do recurso de encapsulamento de informação. Com o encapsulamento o utilizador de uma classe não precisa saber como é que ela é implementada, bastando para a utilização conhecer a interface, ou seja, as funções disponíveis. Uma classe é um tipo, e portanto não pode ser atribuída a uma variável. Para definir uma classe, deve-se utilizar a seguinte sintaxe: class Nome_da_classe { var $variavel1; var $variavel2; function funcao1 ($parametro) { /* === corpo da função === */ } } Objecto Como foi dito anteriormente, classes são tipos, e não podem ser atribuídas a variáveis. Variáveis do tipo classe são chamadas objectos, e devem ser criadas utilizando o operador new, seguindo o exemplo abaixo: $variavel = new $nome_da_classe; Para utilizar as funções definidas na classe, deve ser utilizado o operador "->", como no exemplo: $variavel->funcao1() A variável $this Na definição de uma classe, pode-se utilizar a variável $this, que é o próprio objecto. Assim, quando uma classe é instanciada num objecto, e uma função desse objecto na definição da classe utiliza a variável $this, essa variável significa o objecto que estamos a utilizar. Como exemplo da utilização de classes e objectos, podemos utilizar a classe conta, que define uma conta bancária bastante simples, com funções para ver saldo e fazer um crédito. class conta { var $saldo; function saldo() { return $this->saldo; } function credito($valor) { $this->saldo += $valor; } } $minhaconta = new conta; $minhaconta->saldo(); //a variavel interna não foi inicializada, e não contém nenhum valor $minhaconta->credito(50); $minhaconta->saldo(); // retorna 50 SubClasses Uma classe pode ser uma extensão de outra. Isso significa que ela herdará todas as variáveis e funções da outra classe, e ainda terá as que forem adicionadas pelo programador. Em PHP não é permitido utilizar herança múltipla, ou seja, uma classe pode ser extensão de apenas uma outra.Para criar uma classe extendida, ou derivada de outra, deve ser utilizada a palavra reservada extends, como pode ser visto no exemplo seguinte: class novaconta extends conta { var $numero; function numero() { return $this->numero; } } A classe acima é derivada da classe conta, tendo as mesmas funções e variáveis, com a adição da variável $numero e a função numero(). Construrores Um construtor é uma função definida na classe que é automaticamente chamada no momento em que a classe é instanciada (através do operador new). O construtor deve ter o mesmo nome que a classe a que pertence. Veja o exemplo: class conta { var $saldo; function conta () { $this.saldo = 0; } function saldo() { return $this->saldo; } function credito($valor) { $this->saldo += $valor; } } Podemos perceber que a classe conta, possui um construtor, que inicializa a variável $saldo com o valor 0. Um construtor pode conter argumentos, que são opcionais, o que torna esta ferramenta mais poderosa. No exemplo acima, o construtor da classe conta pode receber como argumento um valor, que seria o valor inicial da conta. Vale observar que para classes derivadas, o construtor da classe pai não é automaticamente herdado quando o construtor da classe derivada é chamado. 3 Scooter, darksoul and purabrisa reacted to this Share this post Link to post Share on other sites
Ƭiαgѳ ઽαทƬѳઽ 188 Posted March 29, 2013 Bom tópico, devias ter também falado sobre os parametros "public", "private" e "protected". Share this post Link to post Share on other sites
purabrisa 31 Posted March 29, 2013 e bom para quem sabe a linguagem de programação já eu sei delphi. Share this post Link to post Share on other sites