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

Java Discussion :

Utilisation d'interface


Sujet :

Java

  1. #1
    Membre du Club
    Homme Profil pro
    etudiant / developpeur
    Inscrit en
    Décembre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : etudiant / developpeur

    Informations forums :
    Inscription : Décembre 2009
    Messages : 131
    Points : 69
    Points
    69
    Par défaut Utilisation d'interface
    Salut, je vais etre le plus clair possible pour expliquer la ou je bloque.

    Dans mon projet j'ai diverse classe module (toute herité de AbstractModule) , ces modules commande des capteur et rafraichisse les informations en appelan la fonction update(String data) qui fait partie de AbstractModule.

    ensuite dans ma classe qui gere la database , j'implemente l'interface AbstractModule pour recuperer la fonction update(String data) et donc j'override la fonction pour que la database recupere l'info a chaque fois que update() est appeler.

    Mon problem est lorsque j'appel la fonction update(String data) depuis un module je tombe sur un nullpointer car l'interface n'est pas intancié (alors comme un debutant j'ai tenté le class.getInstance() , mais bien ca marche pas)

    et donc j'ai tenté de regarder autour de abstract interface ou de passer la fonction en abstract mais rien ni fait , je n'arrive pas a faire fonctionner tous ca.

    donc si quelqun voit ou je bloque merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Java
    Inscrit en
    Mai 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 170
    Points : 444
    Points
    444
    Par défaut
    Du code peut-être ?

  3. #3
    Membre du Club
    Homme Profil pro
    etudiant / developpeur
    Inscrit en
    Décembre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : etudiant / developpeur

    Informations forums :
    Inscription : Décembre 2009
    Messages : 131
    Points : 69
    Points
    69
    Par défaut
    Allez un peu de code alors , meme si je ne pense pas apporter plus d'element que mon explication , le code sera surment plus explicite que moi XD

    donc nous avons l'interface :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public interface sensorInterface {
        public void update(String _com);
    }
    la classe abstraite qui implement l'interface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public abstract class ModuleImp implements SensorInterface{
        String name;
        int value;
    }
    donc coté Database par example : je recupere l'interface pour effectuer des enregistrement des valeur a chaque fois que la fonction update(String) est appeler par la class ModuleImp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class DataBaseModule implements SensorInterface{
     
        @override
        public void update(String _com){
            saveData(_com);
        }
    }
    mais justement mon problem ce trouve au niveau de la classe moduleImp, comment a partir d'un module de catpeur (qui extend de ModuleImp) je peux appeler la fonction update() de mon interface pour que la classe databaseModule est d'autre classe qui vont implementer cette interface recupere la levé de la fonction .

    Car ma classe abstraite me demande a un moment d'instancié mon interface dans mon module de catpeur pour pouvoir appeler la fonction update() or je souhaite justement pouvoir appeler cette fonction sans rien definir dans mes module de capteur.

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 398
    Points : 710
    Points
    710
    Par défaut
    Citation Envoyé par 304bl Voir le message
    Allez un peu de code alors , meme si je ne pense pas apporter plus d'element que mon explication , le code sera surment plus explicite que moi XD

    donc nous avons l'interface :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public interface sensorInterface {
        public void update(String _com);
    }
    la classe abstraite qui implement l'interface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public abstract class ModuleImp implements SensorInterface{
        String name;
        int value;
    }
    donc coté Database par example : je recupere l'interface pour effectuer des enregistrement des valeur a chaque fois que la fonction update(String) est appeler par la class ModuleImp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class DataBaseModule implements SensorInterface{
     
        @override
        public void update(String _com){
            saveData(_com);
        }
    }
    mais justement mon problem ce trouve au niveau de la classe moduleImp, comment a partir d'un module de catpeur (qui extend de ModuleImp) je peux appeler la fonction update() de mon interface pour que la classe databaseModule est d'autre classe qui vont implementer cette interface recupere la levé de la fonction .

    Car ma classe abstraite me demande a un moment d'instancié mon interface dans mon module de catpeur pour pouvoir appeler la fonction update() or je souhaite justement pouvoir appeler cette fonction sans rien definir dans mes module de capteur.
    salut,
    plutot que ça : public class DataBaseModule implements SensorInterface
    tu devrais avoir
    public class DataBaseModule extends ModuleImp

    parceque la à quoi sert la classe abstraite sinon ??

  5. #5
    Membre du Club
    Homme Profil pro
    etudiant / developpeur
    Inscrit en
    Décembre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : etudiant / developpeur

    Informations forums :
    Inscription : Décembre 2009
    Messages : 131
    Points : 69
    Points
    69
    Par défaut
    c'est ma faute les nom prete a confusion , mais database module implement l'interface , c'est un ModuleSensor qui va extand la classe abstraite car c'est un moduleSensor (capteur) qui va levé la fonction pour envoyer les donnée vers les classe comme databasemodule justement

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 398
    Points : 710
    Points
    710
    Par défaut
    donc tu fais ça : ?

    SensorInterface dataBaseModule = new DataBaseModule();
    dataBaseModule.update("test");

  7. #7
    Membre du Club
    Homme Profil pro
    etudiant / developpeur
    Inscrit en
    Décembre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : etudiant / developpeur

    Informations forums :
    Inscription : Décembre 2009
    Messages : 131
    Points : 69
    Points
    69
    Par défaut
    non je doit toujours mal expliquer car c'est pas ca du tout.


    la classe moduleSensor va etre extend par les classe qui gere les catpeurs pour recuperer l'information , cette meme classe va levé le fonction update(str) de l'interface

    puis les module comme database , client et fichier doivent recuperer les donnée envoyer par les differents catpeurs par l'interface justement.

    en esperant avoir etait plus clair

Discussions similaires

  1. [Débutant] Quand utiliser une interface ?
    Par dahtah dans le forum Langages de programmation
    Réponses: 10
    Dernier message: 08/08/2007, 16h48
  2. [C#][code] Utilisation des interfaces
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 21
    Dernier message: 17/07/2006, 10h06
  3. utiliser l'interface COM
    Par baert dans le forum C++
    Réponses: 2
    Dernier message: 18/01/2006, 16h14
  4. TForm dans une DLL avec utilisation d'Interface
    Par guedelmalin dans le forum Langage
    Réponses: 13
    Dernier message: 17/06/2005, 11h58

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