Maison  >  Article  >  développement back-end  >  Qu'est-ce qu'une méthode statique en php

Qu'est-ce qu'une méthode statique en php

青灯夜游
青灯夜游original
2021-10-13 18:33:422618parcourir

En PHP, les méthodes membres modifiées par le mot-clé static sont appelées méthodes statiques. L'espace mémoire des méthodes statiques est fixe. Seuls les membres statiques de la classe sont accessibles via l'instruction "class name::static method ()" pour accéder à static. méthodes.

Qu'est-ce qu'une méthode statique en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

En PHP, les propriétés membres et méthodes membres modifiées par le mot clé static sont appelées propriétés statiques et méthodes statiques, Ils peuvent être collectivement appelés membres statiques ici. Les membres statiques d'une classe sont différents des membres généraux de la classe qui ne seront pas instanciés en objets, ce qui signifie que nous n'avons pas besoin d'instancier une classe pour y accéder via la classe. membres statiques.

Il est facile de déclarer des variables statiques dans une classe. Nous pouvons ajouter un mot-clé static avant un membre ordinaire de la classe pour transformer ce membre ordinaire en membre statique. De cette façon, nous pouvons accéder directement à ces membres statiques dans la classe sans instancier la classe. Le format de syntaxe pour accéder aux membres statiques est le suivant :

类名::$静态属性
类名::静态方法()

Le symbole :: est appelé opérateur de résolution de portée, qui est utilisé pour accéder aux membres statiques, aux méthodes statiques et aux constantes, et peut également être utilisé pour remplacer les membres d'une classe et de méthodes. ::符号被称为范围解析操作符,用于访问静态成员、静态方法和常量,还可以用于覆盖类中的成员和方法。

如果要在类内部的成员方法中访问静态属性,只要在静态属性的名称前加上操作符self::

Si vous souhaitez accéder aux propriétés statiques d'une méthode membre à l'intérieur d'une classe, ajoutez simplement l'opérateur self:: avant le nom de la propriété statique.

Méthodes statiques

  • L'espace mémoire des méthodes statiques est fixe, ce qui est relativement plus économe en ressources.
  • La création d'une instance nécessite l'ouverture d'une nouvelle mémoire, qui consomme des ressources. Les méthodes statiques appartiennent à la classe et peuvent être utilisées avant que la classe ne soit instanciée.
  • Les méthodes statiques ne peuvent accéder qu'aux membres statiques de la classe ;
  • Seules les variables statiques et autres méthodes statiques peuvent apparaître dans static ! Et des mots-clés comme celui-ci ne peuvent pas être utilisés dans les méthodes statiques, car ils appartiennent à la classe entière

  • Les méthodes statiques et les variables statiques utilisent toujours la même mémoire après ; ils sont créés. L'utilisation d'instances créera plusieurs mémoires.

Avantages des méthodes statiques :

(1) Peut être utilisé n'importe où dans le code (en supposant que la classe soit accessible)

(2) Chaque instance de la classe peut accéder à la méthode statique définie dans le fichier ; Les attributs de classe peuvent utiliser des attributs statiques pour définir des valeurs, qui peuvent être utilisées par tous les objets de la classe ;

(3) Les attributs ou méthodes statiques sont accessibles sans objets d'instance.

La différence entre les méthodes statiques et les méthodes ordinaires

  • Les méthodes statiques peuvent être utilisées avant de créer l'objet, tandis que les méthodes non statiques doivent être appelées via l'objet créé par new.

  • Les méthodes statiques peuvent être appelées directement via le nom de la classe :: nom de la méthode. Les méthodes ordinaires doivent créer une instance, c'est-à-dire un nouvel objet, puis appeler la classe statique via le nom de l'objet -> nom de la méthode. Elle ne peut contenir que des membres statiques, sinon une erreur de compilation sera générée

  • Les deux ; les classes non statiques peuvent être des classes statiques qui contiennent des membres non statiques peuvent également contenir des membres statiques. La raison pour laquelle elles ne peuvent pas être instanciées est que les classes statiques amèneront le compilateur C# à marquer la classe comme abstraite et scellée. en même temps, et le compilateur ne le générera pas dans le type. Le constructeur d'une instance, ce qui empêchera l'instanciation de la classe statique

  • la classe non statique peut accéder uniquement aux membres statiques ; à travers la classe, car les membres statiques appartiennent à la classe.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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