Utilisation de base des variables statiques en php

怪我咯
Libérer: 2023-03-14 07:24:01
original
2081 Les gens l'ont consulté

statique consiste à définir un statiqueobjet ou une variable statique, concernant la définition statique Nous connaîtrons les caractéristiques d'une variable ou d'une méthode de classe après avoir lu les exemples pertinents dans cet article.

1. Créez un objet$object = new Class(), puis utilisez "->" pour appeler : $object->attribute /function , à condition que la variable/méthode soit accessible.
2. Appelez directement les méthodes/variables de classe : class::attribute/function, qu'elle soit statique ou non statique. Mais il y a des prérequis :
A. S'il s'agit d'une variable, il faut que la variable soit accessible.
B. S'il s'agit d'une méthode, en plus d'être accessible, elle doit également remplir :
b1) S'il s'agit d'une méthode statique, il n'y a pas de conditions particulières
b2) Si c'est une méthode statique ; est une méthode non statique, elle doit être modifiée si elle n'est pas utilisée dans la méthode $ cela signifie que les variables/méthodes non statiques ne sont pas appelées. Bien sûr, il n'y a aucun problème avec l'appel de variables/méthodes statiques.

Jetons ensuite un coup d'œil à la différence entre l'utilisation de $object->… et l'utilisation de class::…:
1 Lorsque vous utilisez $object->…, vous devez exécuter le constructeurCréer des objets ; 2. Utilisez class::... pour appeler des méthodes/variables statiques, et il n'est pas nécessaire d'exécuter le constructeur pour créer des objets
3. .. pour appeler des méthodes/variables non statiques, et il n'est pas nécessaire de les exécuter. Les constructeurs créent des objets.

Ensuite, la chose étrange apparaît. Puisque 2 et 3 sont identiques, à quoi sert l'existence de méthodes/variables statiques ?

Statique statique
Déclarer un membre de classe ou une méthode comme statique permet un accès direct sans instancier la classe. Les membres statiques (à l'exception des méthodes statiques) ne sont pas accessibles via un objet. Les membres statiques appartiennent à la classe et n'appartiennent à aucune instance d'objet, mais les instances d'objet de la classe peuvent être partagées.

Le code est le suivant :

class Child{ 

public $name; 
//这里定义并初始化一个静态变量 $nums 
public static $nums=0; 
function construct($name){ 

$this->name=$name; 
} 

public function join_game(){ 

//self::$nums 使用静态变量 
self::$nums+=1; 

echo $this->name."加入堆雪人游戏"; 

} 


} 

//创建三个小孩 

$child1=new Child("李逵"); 
$child1->join_game(); 
$child2=new Child("张飞"); 
$child2->join_game(); 
$child3=new Child("唐僧"); 
$child3->join_game(); 

//看看有多少人玩游戏 
echo "<br/> 有这".Child::$nums;
Copier après la connexion


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal