Partage d'attributs statiques et d'appels de méthodes statiques en PHP

小云云
Libérer: 2023-03-21 20:40:01
original
1302 Les gens l'ont consulté

Voici une analyse de l'appel d'attributs statiques et de méthodes statiques en PHP orienté objet. Concernant leur appel (si ils peuvent être appelés et comment les appeler), vous devez comprendre où ils sont stockés dans la mémoire, afin que ce soit très facile à comprendre. Les propriétés et méthodes statiques (y compris statiques et non statiques) n'ont qu'un seul emplacement en mémoire (plutôt que des propriétés statiques, il y a autant de propriétés qu'il y a d'objets instanciés).

Instance :

<?php
header("content-type:text/html;charset=utf-8");
class Human{
 staticpublic $name = "小妹";
 public$height = 180;
 staticpublic functiontell(){
 echoself::$name;//静态方法调用静态属性,使用self关键词
 //echo $this->height;//错。静态方法不能调用非静态属性
//因为 $this代表实例化对象,而这里是类,不知道 $this 代表哪个对象
 }
 publicfunction say(){
 echoself::$name . "我说话了";
 //普通方法调用静态属性,同样使用self关键词
 echo$this->height;
 }
}
$p1 = new Human();
$p1->say();
$p1->tell();//对象可以访问静态方法
echo $p1::$name;//对象访问静态属性。不能这么访问$p1->name
//因为静态属性的内存位置不在对象里
Human::say();//错。say()方法有$this时出错;没有$this时能出结果
//但php5.4以上会提示
?>
Copier après la connexion

(1) Les propriétés statiques peuvent être appelées sans instanciation. Étant donné que les attributs statiques sont stockés dans la classe, la méthode appelante est "nom de classe::nom d'attribut" Conclusion :

(2) Les méthodes statiques peuvent être appelées sans instanciation . Comme ci-dessus
(3). Les méthodes statiques ne peuvent pas appeler de propriétés non statiques. Étant donné que les attributs non statiques doivent être instanciés et stockés dans l'objet ;
(4), les méthodes statiques peuvent appeler des méthodes non statiques, en utilisant le mot-clé self. En PHP, une fois qu'une méthode est self::, elle est automatiquement convertie en méthode statique

Recommandations associées :

Explication détaillée des variables statiques en PHP

Explication détaillée de l'utilisation du mot-clé static en PHP

Explication détaillée de l'utilisation et des précautions du mot-clé static en 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!

É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