Opérateur self : L`opérateur self représente la classe courante et est donc utilisé pour accéder aux variables de classe ou aux variables statiques, puisque ces membres appartiennent à la classe et non à un objet de cette classe.
Syntaxe : self::$static_member
Exemple 1 : Ceci est un exemple de base qui montre l`utilisation de l`opérateur self.
< ? php
classe GFG privé statique $static_member = "GeeksForGeeks" ;
fonction __ construct() { echo self :: $ static_member ; // Accès à la variable statique } }
nouveau GFG(); ?> Sortie : GeeksForGeeks Exemple 2 : Cet exemple est une démonstration de l`utilisation du comportement polymorphe en php en utilisant self.
classe GFG fonction prnt() { echo `Classe Parent` ; }
fonction barre ( ) { soi :: prnt(); } }
classe Enfant étend GFG fonction prnt() { echo `Classe enfant` ; } }
$parent = nouveau Enfant(); $parent -> bar(); ?> Sortie : Classe parent : Ici, la méthode de la classe parent est exécutée car l`instruction self représente la classe, nous pouvons donc voir que la méthode de la classe principale est uniquement une méthode de la classe mère. Opérateur $this : $this is, comme le suggère le signe ` $`, est un objet. $this représente l`objet de classe actuel. Il est utilisé pour accéder aux membres non statiques d`une classe. Syntaxe :$that-> $non_static_member ; Exemple 1 : Ceci est un exemple de base qui montre l`utilisation de l`opérateur $this. classe GFG privé $non_static_member = "GeeksForGeeks" ;
fonction __ construct( ) { echo $this -> $non_static_member ; // accès à la variable non statique } }
nouveau GFG(); ?> Sortie : GeeksForGeeks Exemple 2 : Cet exemple est une démonstration du comportement polymorphe en php utilisant self.
classe GFG fonction prnt() { echo `Classe Parent` ; }
fonction bar ( ) { $this -> prnt(); } }
classe Enfant étend GFG {/code> fonction prnt() { echo `Classe enfant` ; } }
$parent = nouveau Enfant() ; $parent -> bar(); ?> Sortie : Classe enfant Il n`y a aucune référence à une classe ici, et l`objet qui pointe vers la classe enfant appelle la méthode définie dans la classe enfant. Ceci est un exemple de polymorphisme dynamique en PHP.
|