POO : attributs/méthodes de classe, self avec static ? ou this ?
Résolu
Yuh12
Messages postés
184
Date d'inscription
Statut
Membre
Dernière intervention
-
Yuh12 Messages postés 184 Date d'inscription Statut Membre Dernière intervention -
Yuh12 Messages postés 184 Date d'inscription Statut Membre Dernière intervention -
Hey, bonjour à tous !
Petite question de POO :)
Il me semble avoir bien compris l'utilité de la propriété static lorsqu'il s'agit d'utiliser des attributs / méthodes à l'extérieur de ma classe.
Je comprend aussi l'intérêt pour un héritage de classe.
J'ai plus de mal à voir l'utilité lorsqu'il s'agit d'être à l'intérieur de ma classe.
Je ne vois pas de différence claire entre :
Et cela :
J'ai eu cette suggestion :
$this->_myvar est destiné à être modulable tandis que
self::$_myvar est destiné à garder la même valeur.
Est-ce exact ?
Est-il incorrect d'attribuer une valeur modulable à un self::$_myvar ?
Y-t-il vraiment une différence importante entre l'un ou l'autre dans ce contexte sinon ?
Merci d'avance :)
Yuh
Petite question de POO :)
Il me semble avoir bien compris l'utilité de la propriété static lorsqu'il s'agit d'utiliser des attributs / méthodes à l'extérieur de ma classe.
Je comprend aussi l'intérêt pour un héritage de classe.
J'ai plus de mal à voir l'utilité lorsqu'il s'agit d'être à l'intérieur de ma classe.
Je ne vois pas de différence claire entre :
class Exemple{ private static $_myvar; public function getVar(){ return self::$_myvar; } }
Et cela :
class Exemple{ private $_myvar; public function getVar(){ return $this->_myvar; } }
J'ai eu cette suggestion :
$this->_myvar est destiné à être modulable tandis que
self::$_myvar est destiné à garder la même valeur.
Est-ce exact ?
Est-il incorrect d'attribuer une valeur modulable à un self::$_myvar ?
Y-t-il vraiment une différence importante entre l'un ou l'autre dans ce contexte sinon ?
Merci d'avance :)
Yuh
A voir également:
- POO : attributs/méthodes de classe, self avec static ? ou this ?
- Happy poo - Télécharger - Arcade
1 réponse
Bonjour,
Si c'est static la donnée appartient à la classe, sinon ça appartient à l'objet.
Notamment, si tu changes la valeur d'un attribut static alors ça affectera tous les objets de la classe, contrairement à un attribut "normal" qui change uniquement pour l'objet sur lequel on fait le changement (this).
Si c'est static la donnée appartient à la classe, sinon ça appartient à l'objet.
Notamment, si tu changes la valeur d'un attribut static alors ça affectera tous les objets de la classe, contrairement à un attribut "normal" qui change uniquement pour l'objet sur lequel on fait le changement (this).
Yuh12
Messages postés
184
Date d'inscription
Statut
Membre
Dernière intervention
24
Merci beaucoup :) !