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

avec Java Discussion :

Créer dynamiquement des objets Java


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut Créer dynamiquement des objets Java
    Salut tout le monde.
    J'ai une application qui utilise une Base de Données. J'ai besoin de créer dynamiquement un objet pour chaque enregistrement de ma table.
    Par exemple, si j'ai une table Produit(codeProd, nomProd) --> chaque objet aura le nom d'une colonne de la table (ici codeProd).
    Est ce que quelqu'un a une idée comment on fait?

  2. #2
    Membre chevronné
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Par défaut
    Hello.

    À ta classe Produit, ajoute un champs "nom" que tu remplis à la lecture de la ligne.

    Non?

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Citation Envoyé par Glob Voir le message
    Hello.
    À ta classe Produit, ajoute un champs "nom" que tu remplis à la lecture de la ligne.

    Non?
    A+
    En fait, Produit c'est le nom d'une table de la Base de Données et non pas d'une classe.
    Mais ma question est comment on donne un nom dynamique à un objet, c'est à dire par exemple on passe un paramètre de type String à une méthode java et à l'interieur on crée un objet qui aura le nom de ce paramètre.

  4. #4
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Citation Envoyé par choko83 Voir le message
    En fait, Produit c'est le nom d'une table de la Base de Données et non pas d'une classe.
    Mais ma question est comment on donne un nom dynamique à un objet, c'est à dire par exemple on passe un paramètre de type String à une méthode java et à l'interieur on crée un objet qui aura le nom de ce paramètre.
    Tu réponds en partie à la question ...
    Pourquoi créer un objet de type "nom" et se compliquer de beaucoup la vie et ne pas mettre une classe "Produit" avec un champ nom dont la valeur sera celle passé en paramètre ....

  5. #5
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Je pense que pour ton problème, il te faut au préalable avoir créer tes classes. Ensuite, pour pouvoir les instancier dynamiquement, il te faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String className = "MyClass";
    MyClass m = (MyClass) Class.forName(className).newInstance();
    Si j'ai bien compris, tu auras ensuite un Objet MyClass qui aura été instancié dynamiquement. Il ne faut pas oublier d'avoir un constructeur par défaut (c'est à dire sans argument) de définit (il me semble )

    Voilà, ++
    Gueritarish

  6. #6
    Membre chevronné
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Par défaut
    Ah ouaaaaaais comme ça aussi.

    Bon faut dire que la description du problème permet bien des interprétations...

    Maintenant je pense deviner qu'il aimerait créer des nom de variable dynamiquement d'après un texte récupéré en DB. Cela n'est pas possible en Java. Il n'y a d'ailleurs aucun problème qui nécéssiterait un tel mécanisme.
    Au pire, si tu veux vraiment associer un String à un objet, tu mets tes objets dans une Map quelconque.

    ++

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Salut,

    Je pense que pour ton problème, il te faut au préalable avoir créer tes classes. Ensuite, pour pouvoir les instancier dynamiquement, il te faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String className = "MyClass";
    MyClass m = (MyClass) Class.forName(className).newInstance();
    Merci Gueritarish pour ta réponse, mai ça revient au même pour ta solution du fait qu'il nous faut un nom dynamique pour l'objet MyClass que tu nome ici MyClass mm.
    Merci Glob pour ta réponse mais j'ai vraiment besoin de trouver une solution car c'est le seul moyen pour que mon application marche

  8. #8
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Vous vous compliquez beaucoup trop la vie. Il faut que tu modélises ta classe en fonction de ta table. Si tu as un table Produit(codeProd, nomProd) alors tu auras une classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class Produit {
       private String codeProd;
       private String nomProd;
    }
    Ensuite tu récupère les tuples de ta table dans une liste d'instance créées dynamiquement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
          Map<String, Produit> myMap = new HashMap<String, Produit>();
     
          while(rs.next()) { /* Ou rs est le ResultSet de tes données */
             String codProd = rs.getString("codeProd");
             String nomProd = rs.getString("nomProd");
     
             Produit produit = new Produit(codProd, nomProd);
             myMap.put(codProd, produit);
          }
    Voila pas besoin de faire plus compliqué.

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 16/11/2011, 17h41
  2. comment utiliser des objets java avec ireport
    Par Invité dans le forum iReport
    Réponses: 0
    Dernier message: 28/07/2007, 23h18
  3. Réponses: 1
    Dernier message: 17/04/2007, 14h43
  4. [D5] Créer dynamiquement des variables dans une fonction
    Par MelkInarian dans le forum Delphi
    Réponses: 11
    Dernier message: 14/04/2007, 12h16
  5. Créer une GUI et insérer dynamiquement des objets
    Par nix74 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 25/11/2006, 09h04

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