Stocker un objet java en une structure java
m3allem58
Messages postés
76
Statut
Membre
-
neogenesis Messages postés 5303 Statut Contributeur -
neogenesis Messages postés 5303 Statut Contributeur -
Bonjour,
J'ai une classe java qui contient plusieurs champs ( uniquement des attributs, pas de methodes) .Quand j'aurai des instances de cette classe(les objets), c pas obligatoire qu'ils contiennent tous les meme champs.
je veux stocker ces objtes là dans des structures java qui ont les meme noms des champs que l'objet.Mais cette structure ne sera pas unique pour tous les objets qui n'ont pas tous les meme attributs.
Donc je veux avoir une structure qui s'adapte avec l'objet.
Exemple qui pose le meme probleme que le mien:
Classe Personne {
nom: string;
prenom: string;
age: integer;
adresse: string;
profession: string;
}
je suis capable d' instancier un objet contenant par exemple 2 attributs nom et prenom:je veux le stocker dans la structure correspondante qui contient 2 champs nommés exactement nom et prenom.
structure st {
nom= personne.nom
prenom= personne.prenom
}
et par exemple un autre objet ayant 3 attributs nom et prenom et adresse: la structure est:
structure st1 {
nom= personne.nom
prenom= personne.prenom}
adresse=personne.adresse
}
et la combinaison des attributs se poursuit...
Ainsi la strucrure est générée selon l'objet que je crée.
Donc quelle est la strucrure qui convient?
Est ce que la structure de données en C et C++ type def struct existe en java? Est ce qu'elle répond au besoin?
A+.
J'ai une classe java qui contient plusieurs champs ( uniquement des attributs, pas de methodes) .Quand j'aurai des instances de cette classe(les objets), c pas obligatoire qu'ils contiennent tous les meme champs.
je veux stocker ces objtes là dans des structures java qui ont les meme noms des champs que l'objet.Mais cette structure ne sera pas unique pour tous les objets qui n'ont pas tous les meme attributs.
Donc je veux avoir une structure qui s'adapte avec l'objet.
Exemple qui pose le meme probleme que le mien:
Classe Personne {
nom: string;
prenom: string;
age: integer;
adresse: string;
profession: string;
}
je suis capable d' instancier un objet contenant par exemple 2 attributs nom et prenom:je veux le stocker dans la structure correspondante qui contient 2 champs nommés exactement nom et prenom.
structure st {
nom= personne.nom
prenom= personne.prenom
}
et par exemple un autre objet ayant 3 attributs nom et prenom et adresse: la structure est:
structure st1 {
nom= personne.nom
prenom= personne.prenom}
adresse=personne.adresse
}
et la combinaison des attributs se poursuit...
Ainsi la strucrure est générée selon l'objet que je crée.
Donc quelle est la strucrure qui convient?
Est ce que la structure de données en C et C++ type def struct existe en java? Est ce qu'elle répond au besoin?
A+.
A voir également:
- Stocker un objet java en une structure java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
1 réponse
Hello,
Il serait plus judicieux de travailler avec des super-classes.
Tu créé une classe principale qui s'appelle par exemple "Personne"
Tu lui donnes la attributs que toutes tes structures ont en commun. Par exemple si chaque objet que tu va créer contient l'attribut nom et prenom, tu le met dans la super classe.
Ensuite tu fais des sous-classe, enfait c'est une classe typique, sauf que tu rajoute "extends" nomDeLaSuperClasse après le nom de la classe.
Tu utilise la méthode super() dans ton constructeur et tu y ajoutes les nouveaux attributs pour cet objet précis. Le super(); permet d'hériter des attributs de ta super-classe.
Tu vois ce que je veux dire ?
Il serait plus judicieux de travailler avec des super-classes.
Tu créé une classe principale qui s'appelle par exemple "Personne"
Tu lui donnes la attributs que toutes tes structures ont en commun. Par exemple si chaque objet que tu va créer contient l'attribut nom et prenom, tu le met dans la super classe.
Ensuite tu fais des sous-classe, enfait c'est une classe typique, sauf que tu rajoute "extends" nomDeLaSuperClasse après le nom de la classe.
Tu utilise la méthode super() dans ton constructeur et tu y ajoutes les nouveaux attributs pour cet objet précis. Le super(); permet d'hériter des attributs de ta super-classe.
Tu vois ce que je veux dire ?
merci pour ta réponse, je comprend bien ton idéé. J'ai fait la classe super.mais pour les attributs spécifiques, je peux ne pas les remplir tous càd pour la meme classe je peux avoir plusieurs objets differents où je peux choisir à ne pas avoir tel ou tel attribut en sortie. et puisque j'ai bq d'attributs donc il faut que la structure soit spécifique à l'objet lui meme.
t'as compris ce que je voulais dire?
ça concerne l'effectif des employés d'une entreprise (par exemple)
Tous les membres de l'entreprises sont des Humains (on est d'accord ? :-)
Ills possèdent tous un nom et un prénom.
On créer donc la classe Humain qui contient (String nom, String prenom)
Maintenant, certains de ces humains, sont cadres ou juste employés, du coup on créer deux sous-classe, nommées Cadre et Employer qui étendre la super-classe Humain.
Un cadre aura un nom et un prénom évidemment car c'est un humain avant tout, mais il a également (par exemple) une voiture de fonction. Donc tu créer une sous-classe Cadre(String nom, String prenom, String marqueVoitureFonction)
Ensuite dans le constructeur de cet objet "Cadre" tu provoque l'héritages des attributs "nom, prenom" avec un super(nom,prenom)
et tu lui ajoute l'attribut voitureDeFonction :
this.voiture = marqueVoitureFonction;
Donc si tu veux créer seulement un humain tu instancie uniquement un Humain(nom,prenom)
si tu veux utiliser les trois attributs (nom,prenom,voiture) c'est l'Objet Cadre qu'il faut instancier.
Tu comprend le concept ?
Les sous-classes héritent des attributs de sa super-classe et peut elle même contenir des attributs supplémentaires.
Si tu pouvais m'expliquer le concept de ton programme je pourrais mieux t'aider, car c'est un peu flou ton histoire de ne mettre que quelques attributs et d'autres pas.. Enfin si bien sûr ma réponse ne te convenait pas.
Je comprends bien ce que tu dis.
Mais en ce qui concerne mon programme c'est un peu différent.
En fait, j'ai une classe Personne comme je l'ai présentée auparavant.J'ai généré un formulaire(interface graphique) relatif à cette classe où je peux remplir les attributs de la classe.Il ya des attributs qui sont obligatoires et d'autres optionnels, donc je peux ne pas remplir les attributs optionnels. Ces données seront stockées dans la table Personne dans une base de données Mysql. Ainsi, les tuples de la table diffèrent en nombre des attributs qu'ils possèdent. Maintenant, je peux faire l'appel des tuples en Eclipse sous forme d'objets java(chaque tuple est un objet).
Il me faut stocker les attributs des objets dans la structure que j'en ai parlée, comment pourrais être cette structure?
Vu que les objets ne contiennent pas tous les même attributs, donc cette structure doit avoir automatiquement ses champs en même nombre et nom que les attributs l'objet.
A+.
Je connais pas le MySQL, désolé
La structure type def de C++ n'existe pas en java.
Y a t-il une structure qui convient?