Felipe Oliveira da Silva
Dicas de programação e portfólio
  • Javascript
  • MySQL
  • Outros
  • PHP
  • Trabalhos
    • Estrutura (CSS)
    • Hotsites
    • Sistemas
    • Websites
  • Web
PHP

Programação Orientada a Objetos em PHP

Classes
Uma classe define estado e comportamento de um Objeto geralmente implementando métodos e atributos. Os atributos, também chamados de variáveis, indicam as possíveis informações armazenadas por um objeto de uma classe, representando o estado de cada objeto. Os métodos, também chamados de funções, são procedimentos que formam os comportamentos e serviços oferecidos por objetos de uma classe.


Subclasses

É uma nova classe originada de sua classe pai.


Objetos

Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.


Métodos

Definem as habilidades dos objetos. Um método em uma classe é apenas uma definição. A ação só ocorre quando o método é invocado através do objeto. Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular. Normalmente, uma classe possui diversos métodos, um para cada tipo de ação.


Atributos

São características de um objeto. Basicamente a estrutura de dados que vai representar a classe. O conjunto de valores dos atributos de um determinado objeto é chamado de estado.


Construtor

Definem o comportamento no momento da criação de um objeto de uma classe, ou seja, assim que instanciamos o objeto esse método é executado.


Visibilidade de Atributos e Métodos

A visibilidade de atributos ou métodos podem ser definidos com os seguintes modificadores de acesso: public, protected ou private.

public:
Podem ser acessados direto pelo objeto (instância da classe)

protected:
Podem ser acessados pela classe e suas subclasses

private:
Podem ser acessados apenas pela classe que define o método ou atributo.

Obs: Normalmente em POO deixamos atributos como private e métodos como public.


Herança

É um princípio da Programação Orientada a Objetos que permite que as classes compartilhem atributos e operações baseados em um relacionamento. A herança permite a criação de subclasses que herdam atributos e métodos da classe pai (super-classe ou classe base).

Exemplo:

<?php
    class Pessoa {
        private $nome;
        private $telefone;

        public function __construct(){
      	  echo "Objeto criado com sucesso!<br />";
        }
        public function setNome($var){
       	 $this->nome = $var;
        }
        public function getNome(){
       	 return $this->nome;
        }
        public function setTelefone($var){
       	 $this->telefone = $var;
        }
        public function getTelefone(){
       	 return $this->telefone;
        }
	}

    class Aluno extends Pessoa{
        private $serie;
        public function setSerie($var){
        	$this->serie = $var;
        }
        public function getSerie(){
        	return $this->serie;
        }
	}

	class Professor extends Pessoa{
        private $materia;
        public function setMateria($var){
			$this->materia = $var;
        }
        public function getMateria(){
			return $this->materia;
        }
    }

    $objPessoa = new Aluno();
    $objPessoa->setNome("Aluno Fulano de tal");
    $objPessoa->setTelefone("11 3636-3636");
    $objPessoa->setSerie("Oitava");
    print_r($objPessoa);
    echo "<br/><br />";
    $objProfessor = new Professor();
    $objProfessor->setNome("Professor Fulano de tal");
    $objProfessor->setTelefone("11 3636-3636");
    $objProfessor->setMateria("Matemática");
    print_r($objProfessor);
?>

Pessoa: É a classe pai
Aluno e Professor: São subclasses de Pessoa indicados por “extends”;
Nome e telefone: São atributos da classe Pessoa herdados para as subclasses (Aluno e Professor);
getXxxx: São métodos que retornam valores dos atributos;
setXxxx: São métodos que armazenam valores em determinados atributos;

Veja mais em Guia do hardware

Postado em 04 de outubro de 2009 às 22:41

3 Comentários »

Busca

  • Popular
  • Comentados
  • Últimos

  • Galeria de fotos com jquery - Demo 1
  • Criando tabelas no MySQL
  • Envio de e-mail com PHPMailer
  • Recebendo dados de formulário
  • Conectando ao Banco de Dados MySQL com PHP
  • Operadores (aritmético, comparação, lógico, atribuição)
  • Lightbox 2
  • Trabalhando com data no PHP
  • Redimensionando imagens em PHP
  • Programação Orientada a Objetos em PHP
  • Galeria de fotos com jquery – Demo 1 (84)
  • Envio de e-mail com PHPMailer (32)
  • Lightbox 2 (30)
  • Redimensionando imagens em PHP (19)
  • Criando abas com Javascript (16)
  • Conectando ao Banco de Dados MySQL com PHP (16)
  • Estruturas de repetição em PHP (while, do while, for e foreach) (9)
  • Criando tabelas no MySQL (9)
  • Até o "concorrente" usa GMAIL (9)
  • Recebendo dados de formulário (6)
  • Conectando ao Banco de Dados MySQL com PHP
  • Programação Orientada a Objetos em PHP
  • GOL Indica
  • Manga comunicação e marketing
  • Firefox 4.0 deve ser lançado em 2010
  • Google Street View se preocupa com a privacidade das pessoas
  • Atrações Educativas – Educar para crescer
  • Realidade aumentada
  • Projetos Residentes Roc
  • Office 2010 com nova proteção antipirataria

Categorias

  • Estrutura (CSS)
  • Hotsites
  • Javascript
  • MySQL
  • Outros
  • PHP
  • Sistemas
  • Web
  • Websites

Arquivos

  • dezembro 2009
  • outubro 2009
  • setembro 2009
  • agosto 2009
  • julho 2009
  • junho 2009
  • maio 2009
  • abril 2009
  • março 2009
  • fevereiro 2009
  • janeiro 2009
  • dezembro 2008
  • novembro 2008

Tags

abas array banco de dados Bing.com chrome classes Condicionais conexão construtor Cookie CSS domínio expressão FAQ firefox formulário função Funções Galeria de fotos gmail google google chrome google maps Hotmail IE IE7 IE8 IE9 Internet internet explorer Javascript jquery kingston Layout Microsoft MySQL métodos objetos PHP Portfólio SEO sistema tecnologia twitter Web

Lista de links

  • Eduardo Willian
  • Fred Carbonare
  • Jhonatan
  • Rafael Jaques

© Felipe Oliveira da Silva
Wordpress Theme designed by DT Website Templates