Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/10/2007, 12h52   #1
Invité de passage
 
Inscription : février 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 5
Points : 2
Points : 2
Par défaut [POO] Utilité de 'final','interface' ?

Bonjour !

Voila je suis en train de lire la derniere edition de PHP 5 Avancé, et j'ai lu la partie concernant le mot clé 'final' et 'interface' de la POO.

Seulement, je n'ai pas compris l'utilité de ca, a part rajouter des contraintes ( ce qui n'est peut etre pas si mal ) cela peut il servir a autre chose ?

Merci d'eclaircir ma lanterne
guillhomme_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 15h56   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
regardes ici, tu auras des exemple d'utilisation des interfaces :
http://alain-sahli.developpez.com/tu...es-interfaces/
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 16h51   #3
Invité de passage
 
Inscription : février 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 5
Points : 2
Points : 2
J'ai lut l'article et je ne vois pas l'utilité de 'Interface TextEditor'.
Sans cet interface, l'exemple marcherai quand meme.

Ou alors c'est moi qui ait rien compris ?
guillhomme_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 16h58   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
L'interface permet de définir une liste de fonctions/méthodes qu'une classe doit posséder pour répondre à un besoin.

Dans l'exemple, pour faire une classe d'éditeur de texte, ta classe doit entre autres posséder la méthode AddParagraph();

Du coup, tu définis une interface dans ton projet, et plusieurs personnes peuvent developper leur propre classe qui répondront bien aux critères imposés par ton interface.

Ca marche sans, bien sur, mais tu dois t'assurer en lisant ton code que ta classe a toutes les méthodes demandées. Alors qu'avec une interface tu auras une erreur qui te dira "attention cette classe ne possède pas la méthode XXXX"

Dans mon cas j'avais fait un projet qui appliquait un algorithme a des graphes pour le traitement d'images. Comme on était plusieurs chacun développait sa propre classe de graphes (gestion avec des listes, des tableaux, un fichier texte contenant les sommets, etc) pour comparer les performances. Le plus simple a donc été de se mettre d'accord sur une interface sur le papier pour que tout le monde ait les memes méthodes (ta solution). On s'est vite apercus que c'était galère parce que parfois l'interface évoluait, des gens oubliaient des données etc, et on en est venus a définir une vraie interface (en code) que chaque classe devait implémenter (au sens du code) du coup le programme te disait directement quand ta classe ne répondait pas aux critères imposés par l'interface
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 17h05   #5
Invité de passage
 
Inscription : février 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 5
Points : 2
Points : 2
ok d'accord j'ai compris
Merci

Juste une petite precision, quand tu dis :
Citation:
une vraie interface (en code)
Tu veux dire par la, pas une interface au vrai sens du terme ?
guillhomme_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h23.


 
 
 
 
Partenaires

Hébergement Web