De nombreuses idées orientées objet ont été ajoutées à PHP5. Les idées orientées objet de PHP5 sont plus proches des idées orientées objet de Java. Ici, nous décrirons les fonctions des mots-clés static et const en PHP5, dans l'espoir d'être utiles aux amis qui apprennent PHP5.
(1) statique
Le mot clé static dans une classe décrit qu'un membre est statique peut restreindre l'accès externe, car les membres après static appartiennent à la classe et n'appartiennent à aucune instance d'objet. Ils sont inaccessibles aux autres classes et ne sont accessibles qu'à la classe. Le partage d'instance peut garantir que le programme protège pleinement les membres. Les variables statiques d'une classe sont très similaires aux variables globales et peuvent être partagées par toutes les instances de la classe. Il en va de même pour les méthodes statiques d'une classe, similaires aux fonctions globales. Les méthodes statiques d'une classe peuvent accéder aux propriétés statiques de la classe. De plus, les membres statiques doivent être accessibles en utilisant self. L'utilisation de ceci provoquera une erreur.
(Pour les similitudes et les différences entre ceci et soi, veuillez vous référer à : http://blog.csdn.net/heiyeshuwu/archive/2004/11/03/165828.aspx )
(2) const
const est un mot-clé qui définit une constante, similaire à #define en C. Il peut définir une constante si sa valeur est modifiée dans le programme, une erreur se produira.
Donnez un exemple du code ci-dessus : (Remarque : le code suivant provient de phpe.net)
<?php
class Counter
{
private static $count = 0;//Définir une propriété statique
const VERSION = 2.0;//Définir une constante
//Constructeur
fonction__construct()
{
soi ::$count++;
}
//destructeur
fonction __destruct()
{
soi::$count--;
}
//Définir une méthode statique
fonction statique getCount()
{
return self::$count;
}
}
//Créer une instance
$c = new Counter();
//Effectuer l'impression
print( Counter::getCount(). "<br>n" ); //Utiliser la saisie directe du nom de la classe pour accéder à la méthode statique Counter::getCount
//Imprimer la version de la classe
print( "Version utilisée : " .Counter::VERSION. "<br>n" );
Eh
bien, à ce stade, j'ai clairement indiqué ce que je sais dans mon cœur, mais je sens que je le suis toujours un peu mal à l'aise avec l'électricité statique, je comprends, donnez-moi quelques conseils !
Mon email : [email protected]
WriteTime 2004-11-3 21:00
http://dev.csdn.net/author/heiyeshuwu/23f0d08c11bc4509b41844855d5c7063.html