Accueil > Forum > > > > Typage des variables
Typage des variables
jeudi 26 janvier 2006 à 23:43:55 |
Typage des variables

ketzaldev
|
Bonjour, j'ai un problème compliqué. Peut être pourrai-je trouver de l'aide parmis vous.
Je m'explique : je voudrais fabriquer un objet sans avoir à spécifier son type en dur lorque que je tape mon code.
Exemple :
Je tape une classe :
public class toto{
public String bob = new String("bob");
/* type */ socket;
}
est ce que l'on peut utiliser la classe Class pour faire un typage, ou alors on doit forcément le faire en dur.
En fait l'objet que je recois viens d'une Hashtable, il est donc de type Object.
Mon probleme est que je voudrais pouvoir lui appliquer ses méthodes.
Seulement, au moment ou je recois mon objet de ma Hashtable, son type est dynamique(a l'instant i, c'est une socket et a l'instant j c'est une JFrame) en exagérant.
Donc grande question comment typer dynamiquement
j'ai essayé des (object.getClass())object = object; mais ca marche pas...
Donc je suis desespere et je sais pas comment faire
Merci de votre aide
|
|
vendredi 27 janvier 2006 à 06:53:12 |
Re : Typage des variables

DARKSIDIOUS
|
Si tout tes objets ont des propriétés communes (par exemple : si ca peut être un chien, un chat, un cheval ou une poule, tous peuvent marcher, courir, manger, etc., et ils peuvent être vu comme des animaux), alors je te conseille d'utiliser une interface animal qui sera implémenté par tes quatres classes (chien, chat, etc.), et ainsi, tu pourra facilement appliquer des fonctions sur le type animal et non plus chien, chat, etc. C'est l'approche objet de java au niveau du polymorphysme. _____________________________________________________________________
|
|
vendredi 27 janvier 2006 à 09:01:31 |
Re : Typage des variables

ketzaldev
|
Le probleme est que l'objet peut aussi bien etre une socket ou alors une JFrame ou alors un AbstractDocument...
C'est ca le probleme :(
C'est pour ca que je voudrais savoir si on peut faire un typage dynamique.
Merci pour ta reponse :)
|
|
vendredi 27 janvier 2006 à 11:24:26 |
Re : Typage des variables
|
vendredi 27 janvier 2006 à 12:50:45 |
Re : Typage des variables

ketzaldev
|
J'ai deja essayé...
A tu une idée précise de ce qu'il faudrai faire Wora ou alors aucunes?
|
|
vendredi 27 janvier 2006 à 21:49:37 |
Re : Typage des variables

Twinuts
|
Salut,
voici deux exemple différent en esperenant que cela te donne une idée de ce que tu peux faire
(pour la deuxieme methode je ne me sert que des constructeurs par defaut)
import java.lang.reflect.Method;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class Test {
public Test(Object obj){
if(obj instanceof JFrame){
((JFrame)obj).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
((JFrame)obj).setSize(300,300);
((JFrame)obj).setLocationRelativeTo(null);
((JFrame)obj).setVisible(true);
}else if(obj instanceof JDialog){
((JDialog)obj).setTitle("JDialog 1");
((JDialog)obj).setDefaultCloseOperation(JDialog.EXIT_ON_CLOSE);
((JDialog)obj).setSize(300,300);
((JDialog)obj).setLocationRelativeTo(null);
((JDialog)obj).setVisible(true);
}else if(obj instanceof StringBuilder){
((StringBuilder)obj).append("hello");
((StringBuilder)obj).append(" world");
System.out.println((StringBuilder)obj);//implicite
}else{
System.out.println("Il n'y a pas de correspondance");
}
}
public static void main(String[] args) {
JFrame f = new JFrame("Frame 1");
JDialog d = new JDialog();
StringBuilder s = new StringBuilder("");
new Test(f);
new Test(d);
new Test(s);
jframe();
jdialog();
}
private static void jframe(){
try {
//chope la classe
Class c = Class.forName("javax.swing.JFrame");
//creer une instance sur la classe
Object frame = c.newInstance();
//Ajoute un titre
Method m =
frame.getClass().getMethod("setTitle", new Class[]{String.class});
//invocation de la methode avec le petit titre
m.invoke(frame,new Object[]{"JFrame 2"});
//pour fermer la fenetre :)
m =
frame.getClass().getMethod("setDefaultCloseOperation", new
Class[]{int.class});
m.invoke(frame,new Object[]{JFrame.EXIT_ON_CLOSE});
//une petite taille pour le plaisir
m =
frame.getClass().getMethod("setSize", new Class[]{int.class,
int.class});
m.invoke(frame,new Object[]{300,300});
//affiche la fenetre
m =
frame.getClass().getMethod("setVisible", new Class[]{boolean.class});
m.invoke(frame,new Object[]{true});
}catch (Exception e) {
e.printStackTrace();
}
}
private static void jdialog(){
try {
//chope la classe
Class c = Class.forName("javax.swing.JDialog");
//creer une instance sur la classe
Object dialog = c.newInstance();
//Ajoute un titre
Method m =
dialog.getClass().getMethod("setTitle", new Class[]{String.class});
//invocation de la methode avec le petit titre
m.invoke(dialog,new Object[]{"JDialog 2"});
//pour fermer la fenetre :)
m =
dialog.getClass().getMethod("setDefaultCloseOperation", new
Class[]{int.class});
m.invoke(dialog,new Object[]{JDialog.EXIT_ON_CLOSE});
//une petite taille pour le plaisir
m =
dialog.getClass().getMethod("setSize", new Class[]{int.class,
int.class});
m.invoke(dialog,new Object[]{300,300});
//affiche la fenetre
m =
dialog.getClass().getMethod("setVisible", new Class[]{boolean.class});
m.invoke(dialog,new Object[]{true});
}catch (Exception e) {
e.printStackTrace();
}
}
}
WORA
|
|
Cette discussion est classée dans : variables, type, objet, object, typage
Répondre à ce message
Sujets en rapport avec ce message
Type STATIC (n°2) [ par BSide ]
Bonsoir,j'ai un problème de compréhension du caractère "static" d'une variable ou d'une méthode. Je ne comprends pas vraiment à quoi ça sert. En quoi
type "global" en VB, comment en java? [ par Pratana ]
Je débute en java à partir du visual basic (pas le mieux)J'arrive à afficher une nouvelle fenetre et je veux rapatrier mes donnés vers le programme pa
Trabstypage Object -> Int [ par Bozz0 ]
Bonjour,J'ai besoin de récupérer un élément d'une combo box (à l'aide de getSelectedItem() qui retourne un Objet) pour initialiser une date ( java.uti
Programmation java et type Object [ par fred240683 ]
BonjourJ'aimerais recupérer un element d'un vecteur vect et le mettre dans une variable de type int de la manière suivante: int w; w=vect.elementAt(0)
conversion Pixels[] en objet de type Image [ par sehenokely ]
Salut à tous ! Je ne sais pas comment obtenir un objet Image à partide son tableau de pixels !J'ai regardé dans la classe PixelGrabber, cela peut se f
2 questions. (Graphics et print) [ par kinnex91 ]
Salut, Peut t'on récupérer la Dimension d'un objet de type Graphics ou Graphics2d Lorsque la methode setPrintable appel la methode print(Graphics g,
Trouver le type d'un objet [ par gcorbineau ]
Bonjour a tous,Je suis débutant en JAVA, et j'aimerai connaitre comment on peut récuperer le type d'un objet.Merci
type Object [ par darkkakashi49 ]
Bonjour ayant une application a réalisé lors de ma requête à la base PostGreSql, celle-ci me retourne un Object[][] pour pouvoir l'utilisé il faudrait
Un objet de type interface??? [ par mimou01 ]
SalutEn fouillant dans un certain code (correct) j'ai trouvé un objet de type interface ;Supposons que cet interface s'appelle I et l'objet O;j'ai tro
Cast Object vers ArrayList<String> java1.5 [ par el_teedee ]
Salut à tous,voilà, je comprend pas vraiment (juste un peu en fait) les générics en java 1.5.Contexte : je mets une ArrayList dans ma session J2EE, et
Livres en rapport
|
Derniers Blogs
[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE par Audrey
Dans un de mes articles précédents , j'avais parlé des DomainDataSource avec RIA Services dans le cas d'une interface Maître - Détail. Dans le même principe, je vais parler d'une autre manière de mettre en forme ce cas d'interface avec RIA Services. Et po...
Cliquez pour lire la suite de l'article par Audrey ZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATIONZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATION par ROMELARD Fabrice
Une des nouveautés de la version V 3.0 était l'apparition de l'onglet Social qui ne fonctionnait que si le MarketPlace était activé sur son poste. Cela limitait donc son intérêt, car hors du cadre commercial USA-CANADA, peu de monde trouva...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2 par ROMELARD Fabrice
Avec la dernière génération du lecteur MP3 de Microsoft, le ZUNE HD, Microsoft a publié une nouvelle version du logiciel pour PC. Ainsi, je me suis décidé à installer celle-ci sur mon Tablet PC ACER, comme toujours le logiciel est donc tél...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : ANDROIDRE : ANDROID par angie23
Cliquez pour lire la suite par angie23 EXERCICE EN JAVAEXERCICE EN JAVA par nouna1551
Cliquez pour lire la suite par nouna1551 PARALLELISATIONPARALLELISATION par infogoss
Cliquez pour lire la suite par infogoss
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|