antiblock
https://arwen2.global/
  • Chatbox

    Did you check out our Discord? https://discord.gg/FFdvMjk9xA
    You don't have permission to chat.
    Load More
Sign in to follow this  
Ŧá๒i๏ รilvค™

Classes E Objectos

3 posts in this topic

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.

Share this post


Link to post
Share on other sites
antiblock
Cyphriun

e bom para quem sabe a linguagem de programação já eu sei delphi.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this