Arquivo de Códigos - Página Inicial
Códigos-fonte
» Boletos Bancários
» Calendário de Eventos
Linguagens
» ActionScript
» Adobe AIR
» Adobe Flex
» AJAX
» C
» C#
» C++
» CSS
» Delphi
» DHTML - Dynamic HTML
» HTML/XHTML
» Java
» JavaFX
» JavaScript
» Java Servlets
» JSP - Java Server Pages
» Perl
» PHP
» PHP-GTK
» Python
» Ruby
» Tcl/Tk
» VB.NET
Bancos de Dados
» IBM DB2
» MySQL
Frameworks
» CodeIgniter
» jQuery
» JSF - Java Server Faces
» Qt
» Ruby On Rails
» Struts
» Struts 2
» wxWidgets
» Zend Framework
Container/Servidor
» Apache Tomcat
» Apache Web Server
Ferramentas
» Apache Ant
» iTextSharp (iText#)
Referências
» CSS1 e CSS2
» JavaScript
Serviços On-Line
» Qual é meu IP?
» Tabela Cores HTML I
» Tabela Cores HTML II
» Lista de Mime Types
» Códigos Teclas Virtuais
Usuários On-Line
Visitantes: 36
PHP
O que há de novo no PHP 5?
40 dicas e truques sobre como trabalhar com datas e horas em PHP
60 dicas e truques sobre como trabalhar com strings e caracteres em PHP
PHP e a Orientação a Objetos - POO (Curso Completo)

DHTML
Curso completo de DHTML para iniciantes

CSS
Como definir uma imagem de fundo fixa na página
Definindo uma imagem de fundo para botões HTML
Você está aqui: Inicio -> Tutoriais -> PHP - Usando métodos estáticos
Usando métodos estáticos
Além de suportar propriedades estáticas, o PHP também suporta métodos estáticos, ou seja, definidos com a palavra-chave static.

Métodos estáticos pertencem à classe e podem ser acessados sem a necessidade de se criar uma instância da classe. Veja:



<?
// definição da classe Pessoa
class Pessoa{
  static function avisar(){
    echo "Sou um método estático";
  }
}

// chama o método usando o nome da classe
Pessoa::avisar();
?>

Observe como chamamos o método sem criar uma instância da classe a qual ele pertence. Para isso usamos o nome da classe e o operador :: seguido pelo nome do método.

Métodos estáticos são úteis quando você quer montar uma biblioteca de funções relacionadas. Um exemplo seria uma classe Math com as funções matemáticas mais usadas em seus códigos.

É importante ter em mente que métodos estáticos não têm acesso a outros métodos ou propriedades não estáticas da classe. Isso é fácil de entender. Como não existe uma instância da classe, estes métodos e propriedades não existem. Veja o que acontece no código a seguir:

<?
// definição da classe Pessoa
class Pessoa{
  public $nome;

  static function avisar(){
    $this->nome = "Alberto";
    echo "Sou um método estático";
  }
}

// chama o método usando o nome da classe
Pessoa::avisar();
?>


Ao executar este código teremos a seguinte mensagem de erro:

Fatal error: Using $this when not in object context in c:\estudos\estudos.php on line 7

Uma saída seria usar self:

self::$nome = "Alberto";

Outra mensagem de erro:

Fatal error: Access to undeclared static property: Pessoa::$nome in c:\estudos\estudos.php on line 7

Marque $nome como static e os erros desaparecerão:

public static $nome;

1 - PHP e a programação orientada a objetos
2 - Entendendo classes e objetos
3 - Criando sua primeira classe em PHP
4 - Controlando a visibilidade de propriedades e métodos de uma classe
5 - Usando construtores e destrutores
6 - Fornecendo parâmetros de inicialização às suas classes
7 - Usando propriedades estáticas
8 - Usando métodos estáticos
9 - Como usar constantes como membros de classes
10 - Atribuição de objetos de uma mesma classe
11 - Aprenda a clonar objetos de uma mesma classe
12 - Herança
13 - Herança, construtores e a palavra-chave parent
 
 
Arquivo de Códigos - Página Inicial
Veja dicas, truques e anotações de Tcl e Tcl/Tk
Como gerar um número randômico em Tcl
Como inserir comentários em seus códigos Tcl
Aprenda a usar o laço for em Tcl
Veja dicas, truques e anotações de outras linguagens
Java - Como detectar o pressionamento da tecla Enter
ActionScript - Como arredondar um valor númerico de ponto-flutuante para baixo
VB.NET - Acessando os caracteres de uma string individualmente usando o método Chars
Java - Alinhando o texto de um JTextField à esquerda, à direita ou ao centro
PHP - Como verificar se uma variável é do tipo array
Java - Usando Collections.reverseOrder() para ordenar os elementos de uma ArrayList em ordem descendente
JSP (Java Server Pages) - Como listar todo o conteúdo de um diretório usando JSP
Java - Convertendo um array em uma List usando o método asList
Java - Código completo para um MIDI Player em Java
ActionScript - Removendo espaços no início de uma string - Como implementar uma função leftTrim()


http://www.arquivodecodigos.net
:: Arquivo de Códigos - Softwares e Consultoria em Programação ::
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.
Certifique-se de ler as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva

Página Inicial Contatos Pesquisar Mapa do Site