IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Problème d'instanciation d'interfaces


Sujet :

avec Java

  1. #1
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 67
    Par défaut Problème d'instanciation d'interfaces
    Bonjour,
    Voilà j'ai un programme java à réaliser (pour mes études), et celui-ci utilise plusieurs interfaces déjà créées, et qu'on ne doit pas modifier (logique pour des interfaces).
    Le problème, le voilà : il m'a semblé lire quelque part qu'on ne peut pas instancier une interface. Mais surprise : quand je regarde les dites-interfaces, celles-ci ont des méthodes qui renvoient ou qui prennent en paramètres : des interfaces... donc j'aurais voulu savoir s'il s'agit d'une erreur de la part de ceux qui ont fait le sujet ou bien d'un cas particulier...

    Merci

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    non il n'y a pas d'erreur, c'est même très courant sur certain projet.

    ca permet au cours d'uun developpement de faire une première étape ou on ne réalise quasiment que des interfaces. Et dans un second temps on réalise les classes qui les implémentes.

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 67
    Par défaut mmh
    Mais alors éclaire moi :
    Pour implanter (ou implémenter je ne sais plus) cette interface, et plus particulièrement les méthodes qui me posent problème, je dois forcément instancier une interface ! Au moins pour donner la valeur de retour...
    C'est donc qu'on a bien le droit de le faire ?
    Comment expliquer ça alors :

    Les interfaces sont des groupes de méthodes que l'on peut réutiliser ou bon nous semble.
    Une interface est différente d'une classe, tu ne peux pas instancier une Interface; tu implémente une interface


    que je retrouve un peu partout sur g****e en cherchant "instancier une interface" ?

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par madmox
    Mais alors éclaire moi :
    Pour implanter (ou implémenter je ne sais plus) cette interface, et plus particulièrement les méthodes qui me posent problème, je dois forcément instancier une interface ! Au moins pour donner la valeur de retour...
    C'est donc qu'on a bien le droit de le faire ?
    Comment expliquer ça alors
    Tu n'a pas à instancier une interface (et tu ne peux pas d'ailleurs), mais tu peux instancier un type qui implémente l'interface...

    Exemple (List est une interface, ArrayList un type concret) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	public List getList() {
    		return new ArrayList();
    	}
    C'est le principe de l'abstraction de l'implémentation

    Pour te former tu peux voir ces cours et tutoriels pour apprendre Java : http://java.developpez.com/cours/
    Par exemple le cours Java de jmdoudou est vraiment au top : http://jmdoudoux.developpez.com/cours/developpons/java/


    a++

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Prenons un exemple:

    - l'interface Collection, que devrait implémenter toute classe servant à gérer "un ensemble d'objets"

    - l'interface List, dont la méthode addAll prend en paramètre une Collection:
    cela signifie que toute classe servant à représenter des listes (implémentant "List") doit être capable d'ajouter en une seule méthode addAll tous les objets d'un paquet d'objet quel qu'il soit, du moment que ce dernier implémente correctement l'interface Collection correctement.

    C'est très puissant. Cela signifie que si tu as un paquet d'objets inconnu, et une liste inconnue, tu es assuré de pouvoir (même sans les connaître), ajouter tous les objets de ton paquet à ta liste.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  6. #6
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Au passage, tu remarqueras que si ça n'était pas possible d'avoir un objet de type une interface, les interfaces ne serviraient à rien

  7. #7
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 67
    Par défaut
    Merci à tous de votre aide, j'y vois plus clair maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/07/2006, 12h23
  2. Problème administration par l'interface WEB
    Par Akriden dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 18/07/2006, 09h24
  3. problème pour instancier une class
    Par gronaze dans le forum C++
    Réponses: 8
    Dernier message: 30/06/2006, 12h21
  4. Problème de conception d'interface
    Par Djangogol dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 28/04/2006, 09h12
  5. Réponses: 12
    Dernier message: 20/01/2006, 20h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo