Precisa de um freelancer, códigos-fonte e exemplos completos?
Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
 
Arquivo de Códigos - Página Inicial
Códigos-fonte
» Códigos-fonte e exemplos completos
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: 50
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 Groovy
Veja dicas, truques e anotações de outras linguagens
ActionScript - Como excluir todos os elementos de um array
Java - Como usar uma classe anônima InputVerifier para verificar a validade da entrada em um JFormattedTextField
C++ - Obtendo a quantidade máxima de caracteres que um objeto string pode armazenar
Python - Criando seus próprios módulos de código reutilizável
VB.NET - Como quebrar uma string em suas partes usando um caractere ou substring como delimitador
C++ - Uma função recursiva para calcular a potência de um número em C++
C++ - Entendendo a função WinMain das aplicações GUI usando a Windows API
Java - Como verificar se seu aplicativo tem permissão para alterar um arquivo
Delphi - Como verificar se um diretório está vazio (não contém arquivos ou subdiretórios)
Python - Verificar se uma string contém apenas caracteres de espaço

       

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