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 :

template c++ -> Java


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut template c++ -> Java
    Bonjour,

    je suis amenee pour mon projet a traduire des classes c++ en java.
    je ne suis pas une pro ni en java ni en c++

    voila la classe que je dois traduire :
    C++
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    template <class T>
    struct SingletonCreator
    {
       SingletonCreator() { T::instance(); }
       inline void dummy() const { ; }
    };
    voila comment je l'ai traduit
    java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class SingletonCreator<T> {
     
    	<T>SingletonCreator() { instance(); }
    	public void dummy() { ; }
     
    }
    j'utilise eclipse pour developper et il me souligne instance(); , j'ai essaye de mettre plusieurs trucs dont <T>.instance(); mais je n'arrive pas a trouver la solution

    j'ai le message d'erreur suivant
    The method instance() is undefined for the type SingletonCreator<T>
    je vous remerci d'avance pour votre aide

    Naya

  2. #2
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    Oulà, c'est pas aussi simple. Dans ton code C++, dans le constructeur tu invoque la méthode statique instance() du type T. En java tu devrais faire de même, sauf que que tu ne peux pas. Les generics java ca n'a qu'un lointain rapport avec les templates C++.

    Tu ne pourra pas faire une traduction mot à mot, il faut que tu transpose le concept en java. Si c'est conférer une nature singleton a des types quelconques, il existe d'autres pattern pour y parvenir.

  3. #3
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    arg :s
    peux tu m'indiquer ou je peux trouver ces patterns ?

    ou m'indiquer une methode ?
    (je lutte beaucoup ^^)

  4. #4
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    je n'arrive pas a trouver les paterns dont tu parles :S

    s'il vous plait quelqu'un peut il m'indiquer quelque chose de plus precis ?

    merci d'avance
    Naya

  5. #5
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    google: generic singleton pattern java

    exemple:
    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
    30
    31
    32
    33
    34
    35
    36
    37
     
    import java.util.HashMap;
    import java.util.Map;
    import java.lang.reflect.Method;
     
    /**
     *
     * @author  Ian Schneider
     */
    public abstract class GenericSingleton {
     
        static Map<Class,Object> lookup = new HashMap<Class,Object>();
     
        public static synchronized <T extends Object> T instance(Class<T> c) {
            T instance = c.cast(lookup.get(c));
            if (instance == null) {
                try {
                    instance = c.cast(c.newInstance());
                    lookup.put(c,instance);
                } catch (Exception e) {
                    return null;
                }
            }
            return instance;
        }
     
        static class Foo extends GenericSingleton {
     
        }
     
     
        public static void main(String[] args) {
            Foo f = GenericSingleton.instance(Foo.class);
            System.out.println(f);
            System.out.println(GenericSingleton.instance(Foo.class) == GenericSingleton.instance(Foo.class));
        }
    }

Discussions similaires

  1. Problème reverse java template.
    Par slopez dans le forum BOUML
    Réponses: 2
    Dernier message: 18/12/2008, 14h18
  2. Generics Java / Template C++
    Par TanEk dans le forum Langage
    Réponses: 18
    Dernier message: 18/08/2008, 19h09
  3. Template application web java
    Par monstor dans le forum JSF
    Réponses: 4
    Dernier message: 21/04/2008, 12h09
  4. Les systèmes de templates / Moteurs de templates java
    Par eXiaNazaire dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2006, 13h38
  5. Java 5.0, les templates et les arrays
    Par anykeyh dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 20/12/2005, 22h14

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