Auteur Sujet: {Résolu}{Interrogation PHP} Les interfaces d'objets en PHP : utilité ?  (Lu 2114 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Darth Killer

  • Débutant
  • *
  • Messages: 2
Bonjour à tous ! Et comme c'est mon premier message sur PHPNet (que je viens de découvrir en cherchant un forum de php.net), félicitations pour cette initiative. ;)

Ma question pourrait paraître simple : en programmation PHP depuis la version 5 existe les interfaces d'objets, et ma question est "mais à quoi celà sert-il ?". Malheureusement, c'est une question à laquelle je cherche une réponse depuis déjà bien longtemps.

Prenons différents exemples que j'ai assemblés récemment sur la doc des interfaces de php.net :

Exemple n°1
A quoi sert-il de déclarer l'interface ici puisque la classe abstraite qui l'utilise possède tout le nécessaire pour l'implémenter, et que les utilisateur hériteront de la classe abstraite qui donc apportera tous les éléments, qu'il y ait ou non une interface ?

Exemple n°2
Je puis peut-être me tromper, mais il me semble que le comportement décrit ici est celui type de l'héritage judicieusement planifié. En regroupant les classes via une classe mère commune on permet une évolution plus simple et plus optimisée du code, comme celle décrite par l'internaute. Où est l'intérêt des interfaces dans ces conditions ?
D'ailleurs, en voyant cet autre exemple on retrouve le même état d'esprit...


Exemple n°3
Manifestement, ici il est question de donner les mêmes méthodes (sauf commandes contenues par ces méthodes) à 2 classes n'ayant à priori aucun rapport. Ce serait comme la méthode 'fouetter' d'un objet de classe Martinet et celle d'un objet de classe 'Batteur de cuisine' (celui pour la crème chantilly et autres). Mais dans ce cas, pourquoi utiliser une interface, et pas tout simplement directement définir la méthode dans chaque classe ?



Donc voilà, je doute que les concepteurs de PHP aient pu introduire un élément qui ne sert à rien, ça me parait même inconcevable, mais dans le même temps plus je m'acharne à chercher l'utilité des interfaces d'objets, plus je me perds, je tourne en rond, et fini par la conclusion que ça ne sert à rien. C'est pourquoi j'en viens à vous poser la question : y a-t-il une quelconque utilité à choisir d'utiliser les interfaces d'objets selon vous ? Si vous, pourriez-vous étoffer d'exemple et explications svp ?

Merci à tous, même ceux qui ne répondent pas mais qui ont eu la patience de tout lire. ;)
« Modifié: 23 mars 2010 à 22:35:30 par Darth Killer »

Hors ligne Darth Killer

  • Débutant
  • *
  • Messages: 2
Bon bah il se trouve que j'ai posé la même question sur une autre communauté et qu'ils m'ont apporté la réponse qu'il me manquait.
Pour ceux qui voudraient profiter de cette réponse, c'est ici que ça s'passe


Merci quand même pour les lecteurs. ;)