Définition ?

Fermé
killernono - 28 juin 2006 à 11:04
 killernono - 28 juin 2006 à 14:26
Bonjour,

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

8 réponses

sebsauvage Messages postés 32847 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 656
28 juin 2006 à 11:06
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 32847 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 656
28 juin 2006 à 11:15
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
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 32847 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 656
28 juin 2006 à 12:42
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 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
28 juin 2006 à 13:05
0
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 32847 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 656
28 juin 2006 à 13:48
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
Jusque là çà va, c'est juste la réponse aux 2 questions qu'il me manque
0