Définition ?

killernono -  
 killernono -
Bonjour,

Quelqu'un peut il m'expliquer la différence entre une interface et une implémentation ?

8 réponses

sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
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.
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
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).
0
killernono
 
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 ?
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
0
killernono
 
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 ...
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
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
0
killernono
 
Jusque là çà va, c'est juste la réponse aux 2 questions qu'il me manque
0