Maison >développement back-end >tutoriel php >Notes orientées objet PHP - 123 Illustration des propriétés statiques et des méthodes statiques
Le contenu présenté dans cet article est le contenu en PHP orienté objet, 123 diagrammes de propriétés statiques et méthodes statiques, désormais partagés avec tout le monde, les amis dans le besoin peuvent s'y référer
/*
Dans les attributs et
ajoutez une modification statique avant la méthode, cela s'appelle attribut statique/méthode statique.
Attribut statique
L'attribut statique est stocké dans l'espace de classe
1. La déclaration de classe est terminée, l'attribut existe déjà et n'a pas besoin de dépendre de l'objet auquel accéder
2 Il n'y a qu'une seule classe en mémoire, donc il n'y a qu'un seul attribut statique
*/<.>
class Human { static public $head = 1; public function changeHead() { Human::$head = 9; } public function getHead() { return Human::$head; } }echo Human::$head; //1// 静态属性的访问方法echo '<br >';// 静态属性只有一个,为所有的对象的共享.$m1 = new Human();$m1->changeHead();$m2 = new Human();$m3 = new Human();echo $m2->getHead(),'<br >'; //9echo $m3->getHead(),'<br >'; //9/*
Méthode statique
Méthode statique, également stockée dans la classe, un seul exemplaire
Les méthodes ordinaires nécessitent des objets pour se mobiliser et doivent lier $this
C'est-à-dire que les méthodes ordinaires doivent avoir des objets et utiliser des objets pour mobiliser
C'est-à-dire que les méthodes statiques peuvent être mobilisées via le nom de la classe
*/<.>
class Human2 { public $name = '张三'; static public function cry() { echo '5555'; } public function eat() { echo '吃饭'; } public function intro() { echo $this->name; } }// 此时一个对象都没有Human2::cry();// 下面这个eat是非静态方法,应由对象来调用Human2::eat();/* 报错提示: Strict standards: Non-static method Human2::eat() should not be called statically */echo '<br >';//Human2::intro();/* 直接报错: Fatal error: Using $this when not in object context */
/*
Résumé :Comme analysé ci-dessus, en fait, les méthodes non statiques ne peuvent pas être statiquement appelée par les noms de classe
*/
$lisi = new Human2();$lisi->cry(); //5555Class->Access->La méthode statique peut
Class->Méthode dynamique S'il n'y a pas ceci dans. la méthode, elle n'est sérieusement pas prise en charge. C'est logiquement inexplicable.
Les méthodes dynamiques d'accès aux objets peuvent être
*/
Recommandations associées :
Héritage orienté objet PHP, introduction multiple à l'état et à l'encapsulation
Présentation des principes de conception orientée objet 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!