Blocage sur un exercice - Java - Programmation
Marsh Posté le 17-12-2012 à 21:37:18
Pas facile de donner un indice sans balancer directement la solution...
Tout simplement, ta classe Entreprise doit avoir un moyen de referencer une centaine d'objets de type Salarie. Normalement t'as du voir en cours une structure de donnees qui permette de faire ca.
Edit: ensuite, tes methodes ajouter/supprimer sont simplement l'ajout de l'objet Employe passe en parametre a ton "truc qui permet de referencer les salaries" (en verifiant que tu depasses pas 100, a toi de choisir quoi faire si c'est le cas), et la suppression retire l'objet Salarie passe en parametre de ton "truc qui permet de referencer les salaries".
C'est la base - apres a toi de voir ce que tu veux faire si on essaye d'ajouter plusieurs fois le meme salarie, ou si on veut supprimer un salarie qui n'est pas dans l'entreprise; m'enfin c'est du peaufinage vu le contexte de l'exo, pas sur que le prof aille prendre ces details en compte.
Re-edit: Employe/Salarie, j'avais lu trop vite.
Marsh Posté le 17-12-2012 à 21:47:27
Si je propose "tableau d'objet", dis-je une connerie ?
En tous cas déjà merci de ton aide
Marsh Posté le 17-12-2012 à 21:53:07
Non c'est exactement ca. Evidemment il y a deja des classes Java generiques qui le font, regarde du cote de la doc: List, Set, etc., qui sont abstraites mais qui ont des implementations "standards" fournies.
A toi de choisir celui qui conviendra le mieux - la par contre si c'est pour un exo corrige, faudra p'tetre justifier pourquoi tu en a choisi un plutot qu'un autre; par exemple un objet List est ordonne, alors qu'on objet Set non: du coup tu dois choisir si dans ton cas avoir un ordre sert a quelque chose, etc. (j'me souviens plus trop des classes et des differences, ca remonte a loin, y en a p'tetre meme des nouvelles depuis le temps )
Edit: je corrige, je suis alle trop vite - tableau d'objet tu pensais a un truc genre "Salarie[100]"?
Marsh Posté le 17-12-2012 à 21:56:17
lasnoufle a écrit : Non c'est exactement ca. Evidemment il y a deja des classes Java generiques qui le font, regarde du cote de la doc: List, Set, etc., qui sont abstraites mais qui ont des implementations "standards" fournies. |
Super, merci pour tes réponses si rapide
Pas un exo corrigé, j'ai juste repris un annal de l'année précédente (niveau débutant), je m’entraîne
Marsh Posté le 17-12-2012 à 20:39:23
Bonsoir à tous
Alors j'ai une question qui va sûrement paraitre débile ( ) pour la plupart d'entre vous mais je bloque sur cet exercice de débutant :
A la deuxième partie de la classe Entreprise, quand on me demande de créer une fonction qui ajoute/supprime un salarié, quelle est la relation qui lie ces deux classes ?
Comment faire pour que ce soit un Salarié que je rajoute et non un simple nombre.
Voila actuellement mes 3 classes :
public class Salarie {
String nom;
String prenom;
int age;
// Constructeur avec paramètres
public Salarie (String nom, String prenom, int age){
this.nom=nom;
this.prenom=prenom;
this.age=age;
}
public void setNom (String nom){
this.nom=nom; }
public void setPrenom (String prenom){
this.prenom=prenom; }
public void setAge (int age){
this.age=age; }
public String getNom ()
{ return nom;
}
public String getPrenom ()
{ return prenom;
}
public int getAge ()
{ return age;
}
public void affiche()
{ System.out.println("Salarié :" +nom+""+prenom);
}
}
public class Apprenti extends Salarie {
String ine;
//Constructeur avec paramètre
public Apprenti (String nom, String prenom, int age, String ine ){
super(nom, prenom, age);
this.ine=ine; }
public void affiche(){
super.affiche();
System.out.println("Numéro INE" +ine); }
}
public class Entreprise {
String nomEnt;
String addEnt;
public Entreprise (String nomEnt, String addEnt)
{this.nomEnt=nomEnt;
this.addEnt=addEnt;}
public void setnomEnt (String nomEnt){
this.nomEnt=nomEnt;
}
public String getNomEnt ()
{ return nomEnt;
}
public void afficher()
{System.out.println("Entreprise :" +nomEnt+ "" +addEnt); }
}
Je demande pas bien sur de finir mon exercice ( ) mais juste un petit coup de pouce
Merci d'avance pour votre aide