Ir para conteúdo
Fórum Script Brasil
  • 0

Sobre Classes E Linguaguem Orientada A Objetos.


rptl

Pergunta

Tenho visto que o PHP tem partido para Orientaçao a Objeto (OO), usando classes.

já programei em C, mas isso foi em 94, 95. To enferrujadasso em relaçao a OO. Tanto é que estava navegando, vi um source em java e fiquei boiando literalmente.

alguém sabe onde eu possa achar um material sobre PHP orientado a objeto?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Alguns links pra você dar uma lida:

http://br.php.net/manual/pt_BR/language.oop.php

http://br.php.net/manual/pt_BR/language.oop5.php

Artigos gringos:

http://www.phppatterns.com/index.php/link/category/11/

(recomendo a lida do "Taking PHP the OO way")

Não gostei de nenhum artigos em português entre os que eu já li... Todos falam das classes de uma forma superficial, com exemplos ruins e confusos. Referem-se às classes como um banco de funções (o que acaba tornando o seu código mais confuso)... nenhum destaca de forma mais aprofundada o que são objetos e qual a melhor forma de utilizá-los.

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Classes

*Uma classe é o projeto/planta de um objeto.

*Não é um objeto em si, e sim a especificação para a criação de um objeto.

*Toda instância de uma classe é um objeto.

*Vários objetos podem ser criados a partir da mesma classe – mas serão objetos diferentes um do outro, com as mesmas propriedades

O que é uma classe?

*Uma classe é uma coleção de variáveis e funções que manipulam estas variáveis

*Variável --> propriedade

*Função --> método

Exemplo de classe

class Cesta

{

var $itens; // Itens da nossa cesta de compras

function adiciona_item ($artnr, $num) {

$this->itens[$artnr] += $num;

}

function remove_item ($artnr, $num) {

if ($this->items[$artnr] > $num) {

$this->items[$artnr] -= $num;

return true;

} else {

return false;

}

}

}

Restrições:

No PHP, somente inicializações tipo constante podem ser feitas em variáveis tipo var.

Se você quer inicializar uma variável tipo var utilizando funções, você deve criar uma função dentro da classe para inicializar este objeto. Esta função é automaticamente chamada quanto o objeto é criado, e se chama função tipo CONSTRUCTOR e tem o memo nome que o nome da classe que a define.

Instanciando um objeto

Uma classe é na verdade um tipo que você cria.

Para criar um objeto (instância de uma classe), você precisa usar o operador new

$cesta = new Cesta;

$cesta->adiciona_item("10", 1);

$outra_cesta = new Cesta;

$outra_cesta->adiciona_item("0815", 3);

Explicação do Exemplo

Neste exemplo definimos a classe Auto_Cesta, que é uma Cesta + um construtor que inicializa a Cesta com um item do tipo numero “10” toda vez que uma nova Auto_Cesta for criada com o operador new.

Construtores podem levar argumentos, que podem ser opcionais – tornando eles assim muito mais úteis. Para poder continuar usando a classe sem parâmetros, todos os construtores devem ser opcionais. Isto é alcançado através de valores default nos parâmetros.

vê se ajuda!
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...