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
Version imprimable
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
Salut,
Tu peux remonter une exception...
a++
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:
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(); } }
Merci pour vos réponses,j'ai fini par créer ma propre exception
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.