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 :

Définir un type de Class


Sujet :

Langage Java

  1. #1
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut Définir un type de Class
    Bonjour,

    Voici la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public <ObjetMetier extends IMetier> ObjetMetier readById(int id, Class classe) throws Exception { ... }
    ... un appel à cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DaoFactory.getDaoOrganisme().readById(organisme.getId(), Organisme.class);
    Jusque là cela fonctionne.

    Maintenant je désire indiquer au compilateur que la classe passée en paramètres doit correspondre à un objet de type IMetier (i.e. que l'objet correspondant implémente l'interface IMetier).

    J'écris donc cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public <ObjetMetier extends IMetier> ObjetMetier readById(int id, Class<IMetier> classe) throws Exception { ... }
    ... mais maintenant l'appel suivant ne fonctionne plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DaoFactory.getDaoOrganisme().readById(organisme.getId(), Organisme.class);
    ... comment écrire l'appel à la méthode readById() ?

    Merci.

    A+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 639
    Points
    639
    Par défaut
    Bonjour,

    J'avais pas ton interface IMeter et ta classe Organisme, alors j'ai fait une analogie avec l'interface Serializable et la classe String :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public <ObjetMetier extends Serializable> ObjetMetier readById(int id, Class<ObjetMetier> classe) throws Exception { ... }
    
    // appel qui compile
    readById(1, String.class);
    
    // appel qui ne compile pas
    readById(1, FileFilter.class);
    Voilà je pense que ça correspond à ce que tu veux. En définitive tu étais très proche... J'ai juste remplacé Class<IMeter> par Class<ObjetMetier> pour le type du second paramètre de ta méthode.

    Romain.

  3. #3
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Citation Envoyé par rg77140 Voir le message
    Bonjour,
    ...

    Voilà je pense que ça correspond à ce que tu veux. En définitive tu étais très proche... J'ai juste remplacé Class<IMeter> par Class<ObjetMetier> pour le type du second paramètre de ta méthode.

    Romain.

    Merci beaucoup pour ta réponse.

    Comme souvent, on est très proche du résultat et le peu qui manque prend le plus de temps.

    + 1

    A+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

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

Discussions similaires

  1. Définir le type d'une structure contenue dans une classe
    Par vincentweb dans le forum Langage
    Réponses: 1
    Dernier message: 27/06/2009, 16h29
  2. Définir un type Bit
    Par Spacy_green dans le forum C
    Réponses: 10
    Dernier message: 09/04/2006, 20h53
  3. définir un type extern
    Par petdelascar dans le forum MFC
    Réponses: 4
    Dernier message: 02/12/2005, 18h15
  4. [JTable] définir le type des colonnes
    Par zozolh2 dans le forum Composants
    Réponses: 3
    Dernier message: 17/08/2005, 08h53
  5. Comment définir le type matrice ?
    Par charly dans le forum Langage
    Réponses: 7
    Dernier message: 15/06/2002, 21h01

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