Les Snippets

Connexion

Instancier une classe a partir de son nom

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 31/03/2006 11:15:17 et initié par MorpionMx [Liste]
Date de mise à jour : 22/03/2007 09:14:16
Vue : 10327
Catégorie(s) : Class
Langages dispo pour ce code :
- C# 1.x, C# 2.x
- VB 2005, VB.NET 1.x
- Java
- PHP 4, PHP 5
- Voir tous les langages pour ce code snippet



Langage : Java
Date ajout : 12/07/2006
Posté par Twinuts [Liste]
DateMAJ : 22/03/2007
public class InstanceByName {
    public static void main(String[] args) {
        //recuperation de l'instance
        //attention si la classe se trouve dans un package ne pas oublier
        //de mettre le chemin de la classe :
        //soit le package toto.tata
        //alors pour trouver la classe on doit mettre
        //getInstance("toto.tata.ClassInstance");
        ClassInstance ci = (ClassInstance)getInstance("ClassInstance");
        //petite verification
        System.out.println(ci);//ici on affiche la methode toString
    }
    
    public static Object getInstance(String name){
        try {
            return Class.forName("ClassInstance").newInstance();
        } catch (InstantiationException e) {
            System.err.println("Impossible d'instancer la classe");
        } catch (IllegalAccessException e) {
            System.err.println("Impossible d'acceder au construteur (non visible)");
        } catch (ClassNotFoundException e) {
            System.err.println("Impossible de trouver la classe");
        }
        return null;
    }
}
//la classe a instancier
class ClassInstance{
    public ClassInstance(){
        System.out.println("new instrance");
    }
    
    public String toString(){
        return "ClassInstance@" + hashCode();//pour afficher quelque chose
    }
}


Snippets en rapport avec : Class, Instance, Reflection, Classe



Codes sources en rapport avec : Class, Instance, Reflection, Classe

{PHP} GÉNÉRATION DE CLASSES D'ACCÈS AUX DONNÉES À PARTIR DES TABLES DAO
Cette classe-script permet de générer des classes d'accès aux données en PHP4 ou PHP5 (au choix) à p...

{PHP} CLASSE DATABASE POUR CONNECTION ET MODIFICATION D'UNE BDD MYSQL
Hello Oui, je sais ce que vous vous dites : "encore une classe de connection a une base de donnée...

{PHP} EXEMPLE DE CLASSE DE GESTION DE PAGE DE FORMULAIRE
J'ai longtemps cherché comment gerer plusieurs formulaires et leurs affichage en une seule page sans...

{PHP} CLASSE "REMPLAÇANT" LES SESSIONS PHP (AVEC VÉRIFICATION DE L'ADRESSE IP)
Voici une classe PHP(5) de sessions. C'est le même principe que les sessions PHP sauf qu'ici, il y ...

{PHP} CLASSE OBJET DAO COUCHE D'ACCÈS À MYSQL DATA ACCESS OBJECT
/* ------------DAO------------ ----DataAcessObject------ EN fait, c'est une layer au-dessus de My...

{C / C++ / C++.NET} PORT COM (RS232) SUPER SIMPLE DANS UNE CLASSE
ce code n'est en fait qu'une reprise d'un code fait en c par ymca2003 http://www.cppfrance.com/code...

{Python} CLASSES POUR LA CONVERSION DE BASE
Modification d'un exemple depose par Marvin. Insertion d un nombre en base 10 , translation vers le...

{PHP} CLASS SQL PLUTÔT COMPLÈTE, AVEC UNE GESTION DES ERREURS PAR FICHIER
Bonjour, alors voilà en fait c'est une class SQL toute bête, rien de bien aprticulier, à part peut-ê...

{PHP} CLASS DE BBCODE ENTIÈREMENT PARAMÉTRABLE
Bonjour, alors voilà c'est une class BBcode permettant le parsage et déparsage d'un code et l'affich...

{JAVA / J2EE} CLASSE PERMETTANT UNE SAISIE AU CLAVIER
Il s'agit d'une classe très simple pour permettre d'effectuer des saisies au clavier en mode console...