Maison > développement back-end > Problème PHP > Comment appeler des attributs statiques et des méthodes statiques en php

Comment appeler des attributs statiques et des méthodes statiques en php

王林
Libérer: 2023-03-04 13:00:01
avant
3228 Les gens l'ont consulté

Comment appeler des attributs statiques et des méthodes statiques en php

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).

(Tutoriel recommandé : Tutoriel graphique php)

Exemple :

header("content-type:text/html;charset=utf-8");

class Human{

static public $name = "小妹";

public $height = 180;

static public function tell(){

echo self::$name;//静态方法调用静态属性,使用self关键词

//echo $this->height;//错。静态方法不能调用非静态属性

//因为 $this代表实例化对象,而这里是类,不知道 $this 代表哪个对象

}

public function say(){

echo self::$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

(Tutoriel vidéo recommandé : Tutoriel vidéo php )

Résumé :

(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"

(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. Parce que les propriétés non statiques doivent être instanciées et stockées 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 appelée self::, elle est automatiquement convertie en méthode statique

;

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:cnblogs.com
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