04-04-2008, 07:43 AM
Les interfaces sont très très puissantes quand elles sont fournies par l'API du langage et profondément intégrées. Par exemple en PHP5 il y a l'interface ArrayIterator : il suffit d'implémenter cette interface, et les instances de notre classe seront "parcourables" avec foreach
C'est surtout pour ce genre de "magie" que les interfaces deviennent puissantes. Sinon il faut savoir qu'on ne peut hériter que d'une classe à la fois, mais on peut implémenter plusieurs interfaces, donc ce n'est pas le même concept. En gros une interface c'est le fichier .h de PHP
Mais c'est comme tout dans l'objet, l'idée principale c'est d'ajouter énormément de contraintes. Les interfaces sont purement dans cette optique : ajout de contrainte, et uniquement de contrainte. On ne gagne pas de fonctionnalités (à part en utilisant les interfaces magiques du langage), mais on s'ajoute des contraintes. L'idée est donc d'avoir un système permettant de baliser de manière efficace le terrain, ni plus ni moins.
C'est surtout pour ce genre de "magie" que les interfaces deviennent puissantes. Sinon il faut savoir qu'on ne peut hériter que d'une classe à la fois, mais on peut implémenter plusieurs interfaces, donc ce n'est pas le même concept. En gros une interface c'est le fichier .h de PHP
Mais c'est comme tout dans l'objet, l'idée principale c'est d'ajouter énormément de contraintes. Les interfaces sont purement dans cette optique : ajout de contrainte, et uniquement de contrainte. On ne gagne pas de fonctionnalités (à part en utilisant les interfaces magiques du langage), mais on s'ajoute des contraintes. L'idée est donc d'avoir un système permettant de baliser de manière efficace le terrain, ni plus ni moins.
Ressources [PHP][MySQL][prototype.js]