Définition ?

killernono -  
 killernono -
Bonjour,

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

8 réponses

  1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    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
  2. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    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
  3. 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
  4. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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