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 :

Equivalent de pointeur de fonctions


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Par défaut Equivalent de pointeur de fonctions
    Bonjour

    Je pose une question qui a déjà été abordée mais dont je n'ai pas trouvé de réponse satisfaisante.

    j'écris un logiciel qui contient un petit traitement de texte pour un logiciel de généalogie.
    Le texte peut contenir des balises (du genre <nomPers>, <dateNaisPers>) que je veux remplacer par sa valeur.
    Pour le moment, je fais un test :
    si la balise est <nomPers>, appel à la fonction lireNomPers();
    si la balise est <dateNaisPers>, appel à la fonction liredateNaisPers();

    Comme j'ai actuellement une quinzaine de balises et que je compte étendre ce nombre, je voulais associer, dans un tableau, la balise et la fonction.

    Mes recherches ne m'ont pas montré de solution satisfaisante.
    Avez-vous une idée ?

  2. #2
    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,


    Le plus simple serait de passer par une interface, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public interface Function {
        public void invoke();
    }
    Ensuite il suffit d'utiliser une Map<String,Function> pour l'association balise/fonction...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Map<String,Function> map = ...
     
    map.put("nomPers", new Function() {
        public void invoke() {
            ...
        }
    });
     
     
    map.get("nomPers").invoke();

    a++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Par défaut
    Merci beaucoup pour cette réponse.
    j'ai eu un peu de mal à la mettre en place mais maintenant ça marche.

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

Discussions similaires

  1. [JOGL] - equivalent des pointeurs sur fonction
    Par sir_gcc dans le forum OpenGL
    Réponses: 2
    Dernier message: 12/01/2009, 20h26
  2. [Language]Equivalent Java des pointeurs de fonctions du C/C++
    Par Thierry Chappuis dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 15h14
  3. Matrice de pointeurs de fonctions
    Par sebduth dans le forum C
    Réponses: 15
    Dernier message: 18/07/2003, 14h03
  4. [Kylix] Pointeur de fonctions
    Par _dack_ dans le forum EDI
    Réponses: 1
    Dernier message: 03/07/2003, 10h17
  5. pointeur de fonction
    Par kardath dans le forum C
    Réponses: 4
    Dernier message: 28/12/2002, 14h39

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