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 :

instanciation d'un objet


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut instanciation d'un objet
    bonsoir tout le monde
    je veux savoir s'il existe une manière d'instancier un bojet à part le constructeur "new"
    ET MERCI

  2. #2
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    Je ne crois pas. Une variable peut faire référence sur un objet déjà instancié mais tu ne l'instancies pas vraiment. Donc "new" est la seule solution (je pense).

    Nas'

  3. #3
    Membre chevronné Avatar de gronono
    Inscrit en
    Novembre 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2003
    Messages : 457
    Par défaut
    Bonjour,

    Si ton objet à un constructeur sans argument, tu peux utiliser une instanciation dynamique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Class c = Class.forName("nomDeLaClasse");
      Object instance = c.newInstance();
    Le mieux est d'utilisé les interfaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Class<? extends MonInterface> c = Class<? extends MonInterface>("nomDuClasseQuiImplementeMonInterface");
    MonInterface instance = c.newInstance();
    instance.uneMéthodeDeMonInterface();
    Voir la javadoc de l'objet Class pour plus d'info.

    EDIT: Rajout du lien vers la javadoc

  4. #4
    Membre chevronné Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Par défaut
    Il y a aussi la méthode clone.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 109
    Par défaut
    Citation Envoyé par gronono
    Bonjour,

    Si ton objet à un constructeur sans argument, tu peux utiliser une instanciation dynamique:
    La réflexion marche aussi avec les constructeurs qui ont des arguments.
    (de mémoire, sans les try/catch)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Class cl = MaClasse.class
    //tableau de classes des arguments
    Class[] classesArgs = new Class[] {ClassArg1.class, ClassArg2.class,};
    //on récupère l'objet constructeur
    Constructor ctor = cl.getConstructor(classesArgs);
    //tableau d'arguments
    Object[] args = new Object[]{arg1, arg2,};
    //instanciation
    Object instance = ctor.newInstance(args);
    Par contre, c'est moins performant qu'avec new !

  6. #6
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    merci vraiment

  7. #7
    Membre chevronné Avatar de gronono
    Inscrit en
    Novembre 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2003
    Messages : 457
    Par défaut
    @MangeurVasqué :
    Merci, je ne connaissais pas cette méthode.

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 21/02/2007, 09h44
  2. [COM] Problème Instanciation de l'objet COM
    Par ludobado dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 14/11/2006, 11h06
  3. Instanciation automatique d'objets
    Par moulette85 dans le forum Langage
    Réponses: 6
    Dernier message: 09/06/2006, 23h30
  4. [c#]instanciation d'un objet dans la mainform
    Par fafa139 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 04/06/2006, 22h22
  5. [POO] imposer une instanciation d'un objet
    Par zenzo dans le forum Langage
    Réponses: 5
    Dernier message: 16/03/2006, 02h08

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