Programme java

Discutez d'informatique ici !
thedream01
Membre Relatif
Messages: 289
Enregistré le: 20 Avr 2007, 11:57

Programme java

par thedream01 » 16 Fév 2008, 23:57

Bonsoir!
Voila, j'ai un petit souci avec mon TP d'info:

class Banque {
// Declaration des champs.
private String nom_;
private HashMap clients_ = new HashMap();


// Constructeur.
public Banque(String Nom){
nom_ = Nom;
clients_=new HashMap();
}


// Ajouter un client à la banque 'nom_'.
public void nouveauClient(Client a){
clients_.put(a.nom,a);
}
........}

j'ai un message Warning: unchecked call to put(K,V) as a member of the raw type java.util.HashMap.
Je ne comprends pas!



cedrick21
Membre Naturel
Messages: 47
Enregistré le: 12 Fév 2008, 11:43

par cedrick21 » 19 Fév 2008, 12:00

modifie l'instanciation de ta HashMap en prenant en compte les types que tu lui donne, ici une chaine de caractère et un objet

HashMap client_ = new HashMap ();

mathk
Membre Naturel
Messages: 23
Enregistré le: 21 Fév 2008, 01:16

par mathk » 22 Fév 2008, 00:16

Pourquoi un client est un String?
C'est generalement une tres mauvaise idee. Il est beaucoupplus interessant d'avoir une classe Client.

Aussi avoir des variables d'instances private ce n'est pas une bonne chose:
Ceci empeche souvant la reutilisation de la classes.

Il est vrai que les gens conseil d'utilise des "access modifier" le plus restrictif possible mais ils ont bien trops souvent mal compris les concepts objets.

Voici quelques symptomes non exaustifs que l'on peut observer lorsque les developpeurs utlise "private"

- Duplication de code (les gens dans les sous classes duplique le code car il ne peuvent pas le modifier)
- Duplication de la class (La encore si l'on veut modifier une method dans la sous class et que celle de la superclass utilise un varaible d'instance priavte on ne peut pas le faire. La les consequence sont vraiment terrible car cela modifie aussi le lcient)

Donc il est beaucoup plus judiceux d'utiliser protected.

Alors pourquoi private.

Private doit etre utilise vriament lorsque l'on veux communiquer avec l'exterieur, a des niveaux d'abstraction plus eleve.
Par exemple si tu veut que la class offre des services a des clients qui ne sont pas impliques dans le developpement de ton application.
Des clients qui n'ont pas besoins de connaitre les details internes de l'application.

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

cron

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite