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 :

Interdir l'instanciation d'une classe


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de dv-2008
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 240
    Par défaut Interdir l'instanciation d'une classe
    Bonjour,
    s'il vous plaît, je voudrais savoir s'il y avait une methode me permettant d'empêcher l'instanciation d'une classe si une condition donnée n'est pas réalisée
    Merci

  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,


    Tu peux remonter une exception...


    a++

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 233
    Par défaut
    Quelle genre de condition ?

    Pour empecher une classe d'etre instanciée tu peux creer un constructeur private ainsi seul la classe elle même peut creer une classe de son type, et éventuellement creer une méthode statique getInstance() par exemple si tu veux pouvoir récuperer une instance de cet objet a l'exterieur.

    ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class Toto
    {
      private Toto() {}
     
     public static Toto getInstance()
     {
            // Ici tu pourrais mettre tes conditions et retourner null si ca n'est pas possible
            return new toto();
     }
    }

  4. #4
    Membre éclairé Avatar de dv-2008
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 240
    Par défaut
    Merci pour vos réponses,j'ai fini par créer ma propre exception

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 290
    Par défaut
    Ce ne serait pas mieux de mettre une bonne vieille condition (if), plutôt qu'une exception ? (Mieux en terme de ressources mais tout dépend de l'utilisation...)

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Drawingrom Voir le message
    Ce ne serait pas mieux de mettre une bonne vieille condition (if), plutôt qu'une exception ? (Mieux en terme de ressources mais tout dépend de l'utilisation...)
    Si tu mets un if, il sera forcément en dehors du constructeur : un constructeur, soit ça réussit et construit un objet, soit ça échoue et lance une exception.

    Du coup, supposons que la condition soit fausse mais le constructeur appelé quand même : il doit quand même générer une exception. Dit comme ça, ça fait un peu double emploi.
    Après tout dépend de l'utilisation... Il y a de nombreuses manières de voir qui sont cohérentes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/10/2006, 15h45
  2. Instanciation d'une classe dans un CustomTag
    Par santana2006 dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 30/09/2006, 12h08
  3. Réponses: 2
    Dernier message: 21/04/2006, 20h18
  4. instanciation d'une classe
    Par firejocker dans le forum C++
    Réponses: 6
    Dernier message: 15/11/2005, 11h54
  5. Réponses: 7
    Dernier message: 10/11/2005, 10h09

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