Muitas ideias orientadas a objetos foram adicionadas ao PHP5. As ideias orientadas a objetos do PHP5 estão mais próximas das ideias orientadas a objetos do Java. Aqui descreveremos as funções das palavras-chave estáticas e const no PHP5, na esperança de ser útil para amigos que estão aprendendo PHP5.
(1) estático
A palavra-chave static em uma classe descreve que um membro é estático pode restringir o acesso externo, porque os membros após static pertencem à classe e não pertencem a nenhuma instância do objeto. Eles são inacessíveis a outras classes e só são acessíveis à classe. O compartilhamento de instâncias pode garantir que o programa proteja totalmente os membros. Variáveis estáticas de uma classe são muito semelhantes às variáveis globais e podem ser compartilhadas por todas as instâncias da classe. O mesmo vale para métodos estáticos de uma classe, semelhantes às funções globais. Os métodos estáticos de uma classe podem acessar propriedades estáticas da classe. Além disso, membros estáticos devem ser acessados usando self. Usar isso causará um erro.
(Para as semelhanças e diferenças entre este e eu, consulte: http://blog.csdn.net/heiyeshuwu/archive/2004/11/03/165828.aspx )
(2) constante
const é uma palavra-chave que define uma constante, semelhante a #define em C. Pode definir uma constante Se seu valor for alterado no programa, ocorrerá um erro.
Dê um exemplo do código acima: (Nota: O código a seguir vem de phpe.net)
<?php
class Counter
{
private static $count = 0;//Define uma propriedade estática
const VERSION = 2.0;//Define uma constante
//Construtor
função__construir()
{
self::$contar++;
}
//destruidor
função __destruir()
{
self::$contar--;
}
//Define um método estático
função estática getCount()
{
retornar self::$contar;
}
}
//Cria uma instância
$c = new Contador();
//Executa a impressão
print( Counter::getCount(). "<br>n" ); //Use a entrada direta do nome da classe para acessar o método estático Counter::getCount
//Imprime a versão da classe
print( "Versão usada: " .Counter::VERSION. "<br>n"
?>
Bem, basicamente neste ponto, deixei claro o que sei em meu coração, mas sinto que ainda estou um pouco desconfortável com a estática, eu entendo, por favor, me dê alguma orientação!
Meu e-mail: [email protected]
WriteTime 3/11/2004 21:00
http://dev.csdn.net/author/heiyeshuwu/23f0d08c11bc4509b41844855d5c7063.html