|
|||||||
| Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO |
|
|
Publicité ' | |||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 20 ![]() |
Bonjour,
je suis dévelloppeur PHP, j'aime bien travailler en programmation orientée objet, et ma question est de savoir si la redéfinition des opérateurs (+,-,*,/,=) pourrait être implémentée en php ? Qu'en pensez vous ? |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
La surcharge des opérateurs n'est pas possible pour l'instant en PHP 5 il me semble.
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 20 ![]() |
Oui mais dans le futur ca pourrait vraiment être un plus, ne trouvez-vous pas ?
|
|
|
00
|
|
|
#4 |
![]() ![]() Alain Sahli Ingénieur développement logiciels Inscription : décembre 2004 Messages : 1 086 ![]() |
Personnellement je ne vois pas dans quel cas cela pourrait être utile. Un exemple ?
__________________
Blog - Mon espace developpez - Vous voulez un site internet ? eZ Publish Certified developer |
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 20 ![]() |
le but : écrire le moins de code possible.
une fois la redéfinitions des opérateurs fixées, l'utilisation d'un objet devient plus simple. Prenon le cas de deux objet issus d'une classe représentant un nombre complexe. Code :
Code :
l'opérateur += ayant été redéfini dans la classe complexe. Voir cours de emmanuel remy pour le C++ : http://pagesperso-orange.fr/emmanuel.../operateur.htm En php ca servirait aussi. un Objet reste un Objet ! ce qui est fait en C++ pourrait aussi se faire en PHP. |
||||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Bah dans un vrai environnement objet la redéfinition des opérateurs est quasiment indispensable effectivement.
|
|
|
00
|
|
|
#7 | |
|
Membre du Club
![]() Inscription : octobre 2007 Messages : 66 ![]() |
Citation:
On peux déja faire ça "sur certains opérateurs". ( redefinir le comportement d'une classe en fonction de son contexte d'utilisation ) Méthodes magiques PHP5, et interface ( ArrayAccess par exemple pour le comportement de l'objet utilisé en tant que tableau ) Et puis : en quantité de code, le code est identique a quelques caractéres prés : ( et le code de redefinition ne doit pas etre bien différent ) pour ce qui est de l'utilité de la "redefinition d'operateurs" .... Code :
ma question est de savoir si la redéfinition des opérateurs (+,-,*,/,=) pourrait être implémentée en php ? Elle est déja implémentée, mais pas possible pour tous les opérateur. Et l'utilité d'une telle fonctionnalité ormis le codage ( lisibilité )de code reste un sujet ouvert
|
|
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : mars 2006 Messages : 318 ![]() |
redéfinition n'est pas exactement le bon terme, on appelle ça une surcharge d'opérateur.
|
|
|
00
|
|
|
#9 | |
|
Nouveau Membre du Club
![]() Développeur Web Inscription : avril 2006 Messages : 37 ![]() |
pour ma part ; je ne suis pas pour.
Je pense que cela est inutile ; et que cela poserais plus de problémes que cela n'en résoudrais. De plus ; pour travailler avec des objets ; que ce soit pour du calcul, de l'assignation, de l'incrémentation, de la comparaison, de la logique ou quoi que ce soit d'autre ... utiliser une méthode, ce n'est pas la même chose ? je veux dire ... $a + $b ; ca reviens au même que $a->ajouter_a($b) non ? donc la surchage d'opérateurs ; je n'en vois pas l'utilité. Citation:
Ecrire moins de code en surchargeant les opérateurs ; c'est devoir écrire plus de commentaires pour expliquer ce que l'on fait ... On y gagne vraiment ? Tu en est sur ? |
|
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Oui on y gagne beaucoup dans la clarté d'un code, l'exemple donné sur les complexes était très bien choisi et s'applique à pas mal de cas. Cette méthode existe dans plusieurs autres langages orientés objets et je pense qu'il sera utile de l'implémenter en PHP meme s'il y a pour l'instant des choses plus urgentes.
|
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Développeur Web Inscription : avril 2006 Messages : 37 ![]() |
Je suis septique. Sans doutes parce que c'est quelque chose que je ne connais pas.
Est-ce que cela coûte en ressources ? Comment cela-ce traduirait-il en termes de code de surcharger un opérateur ? Par des méthodes magiques par exemple ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com