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

Langage Java Discussion :

Problème d'interface Java


Sujet :

Langage Java

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 277
    Points : 123
    Points
    123
    Par défaut Problème d'interface Java
    bonsoir à tous,

    J'essaye de comprendre l'utilité des interfaces Java

    Je trouve cet exemple sur wikibook

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    package cours;
     
    public interface Vehicule {
     
        void rouler();
     
        void freiner();
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    package cours;
     
    public class Velo implements Vehicule {
        //Champs
     
        private String marque;
        private int rayonRoue;
     
        //Constructeurs
     
        public Velo(String marque, int rayonRoue)
        {
            this.marque = marque;
            this.rayonRoue = rayonRoue;
        }
     
        //Methodes
     
        public void rouler() {
            //Coder ici la manière dont le vélo roule
        }
     
        public void freiner() {
            //Coder ici la manière dont le vélo freine
        }
     
            //Autres méthodes propres à Velo
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    package cours;
     
    public class Auto implements Vehicule {
        //Champs
     
        private String marque;
        private int poids;
     
        //Constructeurs
     
        public Auto(String marque, int poids)
        {
            this.marque = marque;
            this.poids = poids;
        }
     
        //Methodes
     
        public void rouler() {
            //Coder ici la manière dont l'auto roule
        }
     
        public void freiner() {
            //Coder ici la manière dont l'auto freine
        }
     
            //Autres méthodes propres à Auto.
    }
    Ma question ça peut être bête ! Je n'arrive pas à comprendre l'utilité de l'interface Vehicule ! Je peux supprimer ce implements Vehicule et ne garder que public class Velo et public class Auto et rien ne change ! Vraiment je ne comprend pas le rôle de l'intrerface Vehicule ça apporte quoi au code ! Merci pour l'aide

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    Supposons que tu veuilles faire un Garage un peu particulier, dans lequel tu peux mettre des Velo et des Auto.

    Dedans tu auras une List<Vehicule> pour contenir ceux que tu as dans ton garage. Cette List contient les Velo et les Auto, bref tout ce qu'il y a dans ton Garage.

    Et cela ne marcherait pas si tu enlevais "implements Vehicule".

    Voilà voilà... L'idée est simplement de définir un nouveau type sans prendre de décision concernant son implémentation. Des implémentations, ensuite, tu peux en faire plein, et elles seront toutes sous-type de Vehicule, donc utilisables partout où on utilise un Vehicule.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Le polymorphysme n'est pas très intuitif et ton exemple n'est pas assez complet pour que tu puisses te rendre compte de l'interet. Il faut essayer un exemple complet, comme suggéré par thelvin, qui utilise les fonctions de l'interface, et cela deviendra beaucoup plus évident.

Discussions similaires

  1. Problème d'interface en Java avec Eclipse
    Par lou87 dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 26/01/2012, 17h02
  2. Réponses: 2
    Dernier message: 02/09/2010, 09h59
  3. Problème boutton interface java
    Par ninya dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 14/01/2010, 16h29
  4. Réponses: 1
    Dernier message: 31/12/2008, 09h04
  5. Problème en interfacant C et Fortran
    Par karl3i dans le forum MFC
    Réponses: 6
    Dernier message: 23/05/2006, 16h10

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