Maison  >  Article  >  développement back-end  >  Que sont les variables membres statiques de PHP ?

Que sont les variables membres statiques de PHP ?

怪我咯
怪我咯original
2017-07-23 13:31:333373parcourir

Membres statiques : Les membres d'une classe statique ajoutent le modificateur static, qui est un membre statique. Vous pouvez directement utiliser le nom de la classe + le nom du membre statique pour accéder à ce membre statique, car statique. les membres existent en mémoire, les membres non statiques doivent être instanciés avant que la mémoire ne soit allouée, afin que les membres statiques ne puissent pas accéder aux membres non statiques. Étant donné que les membres statiques existent en mémoire, les membres non statiques peuvent accéder directement aux membres statiques de la classe

1. Variable globale statique

Définition : Ajoutez le mot-clé static avant la variable globale et la variable est définie comme une variable globale statique.

Caractéristiques :

A. Cette variable alloue de la mémoire dans la zone de données globale.

B. Initialisation : si elle n'est pas explicitement initialisée, elle sera implicitement initialisée à 0 (les variables automatiques sont aléatoires sauf si elles sont explicitement initialisées).

C. La variable d'accès n'est visible que dans le fichier source à proprement parler, elle doit commencer au point de définition et se terminer dans ce fichier.

2. Variables locales statiques

Caractéristiques :

A. données Allouer de la mémoire.

B. Initialisation : s'il n'est pas explicitement initialisé, il sera implicitement initialisé à 0 et les appels de fonction suivants ne seront plus initialisés.

C. Il réside toujours dans la zone de données globales jusqu'à la fin du programme. Mais sa portée est une portée locale. Lorsque le bloc de fonction ou d'instruction qui le définit prend fin, sa portée prend fin.

Les membres de données statiques suivent les mêmes règles d'accès publiques, protégées et privées que les membres de données ordinaires

Étant donné que les membres de données statiques allouent de la mémoire dans la zone de données globale, tous les objets appartenant à cette classe sont partagés ; il, donc, Il n'appartient pas à un objet de classe spécifique, et sa portée est visible lorsqu'aucun objet de classe n'est généré, c'est-à-dire lorsqu'aucune instance de la classe n'est générée, nous pouvons l'utiliser '' L'initialisation des membres de données statiques est ; différent de l’initialisation générale des membres de données. Le format d'initialisation des membres de données statiques est :

type de données><nom de classe>::<nom de membre de données statique>=<valeur>

Les données membres statiques d'une classe ont deux formulaires d'accès :

. ou ::

Si les droits d'accès des membres de données statiques sont autorisés (c'est-à-dire les membres publics), les membres de données statiques peuvent être référencés dans le programme selon le format ci-dessus ; 🎜>Les membres de données statiques sont principalement utilisés lorsque chaque objet a le même attribut. Par exemple, pour une classe de dépôt, le taux d'intérêt pour chaque instance est le même. Par conséquent, les intérêts doivent être définis en tant que données membres statiques de la classe de dépôt. Cela présente deux avantages. Premièrement, quel que soit le nombre d'objets de classe de dépôt définis, les membres des données d'intérêt partagent tous la mémoire allouée dans la zone de données globale, ce qui permet d'économiser de l'espace de stockage. Deuxièmement, une fois que les intérêts doivent être modifiés, tant qu'ils sont modifiés une fois, les intérêts de tous les objets de dépôt seront modifiés

 ;

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!

Déclaration:
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