Maison > développement back-end > tutoriel php > Quelle est la différence entre « self » et « $this » dans la programmation orientée objet PHP 5 ?

Quelle est la différence entre « self » et « $this » dans la programmation orientée objet PHP 5 ?

DDD
Libérer: 2024-12-17 16:26:17
original
363 Les gens l'ont consulté

What's the Difference Between `self` and `$this` in PHP 5 Object-Oriented Programming?

Comprendre la différence entre « self » et « $this » en PHP 5

Lorsque vous travaillez avec de la programmation orientée objet en PHP 5, il est crucial de saisir efficacement les distinctions entre l'utilisation de « soi » et de « $this ». Les deux sont des références mais servent des objectifs distincts dans l'interaction avec les objets.

'$this' - Se référant à l'objet actuel

Utilisez '$this' pour accéder au membre non statique variables et méthodes dans l’instance actuelle de votre objet. Il fournit un pointeur direct vers l’objet spécifique instancié. La syntaxe '$this->member' vous permet d'accéder à des variables non statiques, tandis que '$this->method()' invoque des méthodes d'instance.

Exemple :

class Person {
    private $name;

    public function __construct($name) {
        $this->name = $name;
    }

    public function getName() {
        return $this->name;
    }
}
Copier après la connexion

Dans cet exemple, '$this' est utilisé pour accéder à la propriété 'name' et à la méthode 'getName()' dans 'Person'. object.

'self' - Se référant à la classe actuelle

En revanche, 'self' est utilisé pour accéder aux membres et méthodes statiques au sein de la classe actuelle. Il fait référence à la classe elle-même et non à une instance spécifique de la classe. La syntaxe 'self::$static_member' permet d'accéder aux variables statiques, tandis que 'self::static_method()' appelle les méthodes de classe.

Exemple :

class StaticCounter {
    private static $count = 0;

    public static function incrementCount() {
        self::$count++;
    }

    public static function getCount() {
        return self::$count;
    }
}
Copier après la connexion

Ici, 'self' est utilisé pour accéder à la variable statique 'count' et à la méthode de classe 'incrementCount()' dans 'StaticCounter'. class.

Conclusion

Comprendre l'utilisation appropriée de 'self' et '$this' est vital pour une programmation orientée objet efficace en PHP 5. '$this' cible les membres non statiques de l'objet actuel, tandis que 'self' se concentre sur les membres statiques de la classe actuelle. En maîtrisant ces distinctions, vous pouvez améliorer la clarté et les fonctionnalités de votre code lorsque vous travaillez avec des classes et des objets.

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!

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