[RESOLU] méthodes et attributs statiques

Petit nouveau ! | 5 Messages

16 janv. 2015, 19:49

Bonsoir,
je débute en PHP Objet, j'arrive pas à comprendre l’intérêt des méthodes et attributs statiques.
Est ce que quelqu'un pourrait m'expliquer d'avantage?
Merci d'avance

ViPHP
xTG
ViPHP | 7331 Messages

16 janv. 2015, 23:10

Les attributs statiques sont des valeurs communes à tout objet de la class.
Par exemple si tu fais des objets génériques, tu auras à définir une voiture.
Une voiture a 4 roues, et ce quelque soit sa marque.
Le nombre de roue est donc plus intéressant à renseigner en tant que constante de class statique.

Pour les méthodes statiques cela peut être utilisé pour du traitement sans nécessité d'objet instancié.
Si on reprend l'exemple de la class voiture et que la constante nombre de roue est en fait une variable privée (mais toujours statique).
On souhaite pouvoir l'afficher mais jamais la modifier (oui bon on en fait une constante dans ce cas.. mais là c'est pour l'exemple).
On va donc utiliser une fonction statique permettant de retourner sa valeur.
Il n'y a donc pas besoin grâce à cette fonction statique d'instancier un objet voiture pour connaître qu'une voiture a 4 roues.

Petit nouveau ! | 5 Messages

19 janv. 2015, 18:57

Les attributs statiques sont des valeurs communes à tout objet de la class.
Par exemple si tu fais des objets génériques, tu auras à définir une voiture.
Une voiture a 4 roues, et ce quelque soit sa marque.
Le nombre de roue est donc plus intéressant à renseigner en tant que constante de class statique.

Pour les méthodes statiques cela peut être utilisé pour du traitement sans nécessité d'objet instancié.
Si on reprend l'exemple de la class voiture et que la constante nombre de roue est en fait une variable privée (mais toujours statique).
On souhaite pouvoir l'afficher mais jamais la modifier (oui bon on en fait une constante dans ce cas.. mais là c'est pour l'exemple).
On va donc utiliser une fonction statique permettant de retourner sa valeur.
Il n'y a donc pas besoin grâce à cette fonction statique d'instancier un objet voiture pour connaître qu'une voiture a 4 roues.
Merci pour votre réponse ça devient plus clair maintenant :)