8 réponses
L'interface est un contrat:
Elle définie quels sont les objets, attributs et méthodes qui seront publiquement accessibles.
L'implémentation est un programme qui va, dans la pratique, réaliser ce qui est spécifié dans l'interface.
C'est la mécanique qui fait le travail.
On peut avoir plusieurs interfaces pour la même implémentation, ou même plusieurs implémentations de la même interface.
Elle définie quels sont les objets, attributs et méthodes qui seront publiquement accessibles.
L'implémentation est un programme qui va, dans la pratique, réaliser ce qui est spécifié dans l'interface.
C'est la mécanique qui fait le travail.
On peut avoir plusieurs interfaces pour la même implémentation, ou même plusieurs implémentations de la même interface.
Exemples:
Une interface, plusieurs implémentation:
Un logiciel de dessin peut avoir plusieurs types d'objet: rectangle, triangle, cercle...
On doit pouvoir agrandir chacun de ses objets, le déplacer, le supprimer, changer sa couleur: Il y a donc une interface commune.
Chaque objet devra implémenter chacun des méthodes de l'interface: agrandir(), déplacer(), supprimer(), changercouleur()...
Une implémentation, plusieurs interfaces
Imagine un objet "Employé".
Il contient plein d'informations concernant l'employé.
On peut créer une interface de cet objet pour la compta qui aura besoin d'accéder aux dépenses et fiches de salaire de l'employé.
L'application "Annuaire de l'entreprise", elle, ne devra surtout pas avoir accès au salaire de l'employé !
On va donc créer une interface spéciale rien que pour l'application annuaire, afin qu'elle n'accède qu'à des infos qui lui sont utiles.
Avoir plusieurs interfaces pour la même implémentation est utile:
- pour la sécurité (les utilisateurs de la classe n'ont accès qu'à un nombre restreint d'informations)
- pour la simplification (les utilisateurs voient juste les méthodes qui leur sont utiles, masquant la complexité de la classe).
Une interface, plusieurs implémentation:
Un logiciel de dessin peut avoir plusieurs types d'objet: rectangle, triangle, cercle...
On doit pouvoir agrandir chacun de ses objets, le déplacer, le supprimer, changer sa couleur: Il y a donc une interface commune.
Chaque objet devra implémenter chacun des méthodes de l'interface: agrandir(), déplacer(), supprimer(), changercouleur()...
Une implémentation, plusieurs interfaces
Imagine un objet "Employé".
Il contient plein d'informations concernant l'employé.
On peut créer une interface de cet objet pour la compta qui aura besoin d'accéder aux dépenses et fiches de salaire de l'employé.
L'application "Annuaire de l'entreprise", elle, ne devra surtout pas avoir accès au salaire de l'employé !
On va donc créer une interface spéciale rien que pour l'application annuaire, afin qu'elle n'accède qu'à des infos qui lui sont utiles.
Avoir plusieurs interfaces pour la même implémentation est utile:
- pour la sécurité (les utilisateurs de la classe n'ont accès qu'à un nombre restreint d'informations)
- pour la simplification (les utilisateurs voient juste les méthodes qui leur sont utiles, masquant la complexité de la classe).
Si j'ai bien compris, l'interet de l'interface en client/serveur, c'est que c'est le seul moyen d'atteindre les objets implémentés sur le serveur ?
c'est que c'est le seul moyen d'atteindre les objets implémentés sur le serveur ?
Là je parlais d'interface au niveau programmation orientée objet.
Mais on peut appliquer ça aussi au concept client/server, effectivement.
Exemple:
Ensemble de classes sur un serveur accessibles par plusieurs interfaces SOAP ou RPC.
Là je parlais d'interface au niveau programmation orientée objet.
Mais on peut appliquer ça aussi au concept client/server, effectivement.
Exemple:
Ensemble de classes sur un serveur accessibles par plusieurs interfaces SOAP ou RPC.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
voir aussi
https://fr.wikipedia.org/wiki/Interface
https://fr.wikipedia.org/wiki/Impl%C3%A9mentation
lami20j
voir aussi
https://fr.wikipedia.org/wiki/Interface
https://fr.wikipedia.org/wiki/Impl%C3%A9mentation
lami20j
Merci
En fait je suis en pleines révisions mais n'étant pas programmeur c'est un peu flou pour moi
Et j'ai trouvé çà comme question (la différence entre les 2 et l'interet de l'interface en Client/serveur) et une autre tout aussi floue :
les régles syntaxique d'une interface java RMI et d'une implémantation d'un objet java RMI
Si on me les pose je serai mal, donc ...
En fait je suis en pleines révisions mais n'étant pas programmeur c'est un peu flou pour moi
Et j'ai trouvé çà comme question (la différence entre les 2 et l'interet de l'interface en Client/serveur) et une autre tout aussi floue :
les régles syntaxique d'une interface java RMI et d'une implémantation d'un objet java RMI
Si on me les pose je serai mal, donc ...
RMI est l'une des nombreuses méthodes d'invocation à distance.
(Il y a aussi CORBA, SOAP, RPC, DCOM, XML-RPC...).
RMI est spécifique à Java.
Voir:
rmiintro
https://fr.wikipedia.org/wiki/RMI_%28java%29
(Il y a aussi CORBA, SOAP, RPC, DCOM, XML-RPC...).
RMI est spécifique à Java.
Voir:
rmiintro
https://fr.wikipedia.org/wiki/RMI_%28java%29