CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Problème débutant Java

Calmacil
Calmacil
Niveau 47
09 avril 2013 à 18:47:55

Bonjour, j'ai le problème suivant : "the method XXX is undefined for the type XXX" au moment au je fais la boucle for dans ce code :

http://pastebin.com/gEeXrQaX

Voici la classe Employee

http://pastebin.com/yHVQXmS1

Merci à ceux qui peuvent m'aider, je galère un peu dans ce concept qu'est la POO.

PS : dans les pastebin j'ai mis "C" par réflexe, mais c'est bien du Java)

Calmacil
Calmacil
Niveau 47
09 avril 2013 à 19:07:05

Problème résolu, topic à supprimer.

Tikim
Tikim
Niveau 21
09 avril 2013 à 19:15:43

Quand tu fais ça : employeeList[i].salary = salaryAugmentation(employeeList[i],100);

Ce qui appelle ça : this.salary = this.salary + augmentation;
return this.salary;

C'est absurde. Dans la fonction SalaryAugmentation, tu calcules le nouveau salaire et tu modifies du coup l'attribut salaire de l'employé en question... Mais l'appel de la fonction se fait avec un signe "=", donc tu modifies cette valeur une deuxième fois...

De même, tu passes un employé en paramètre, et la fonction s'appelle sur le même employé ? du coup le paramètre n'est pas utilisé.

Demande toi ce que tu préfères faire : Soit ta fonction ne prend en paramètre que l'augmentation (int), et tu utilises this, du coup tu appelles en faisant employe.salaryAugmentation(100).

Ou alors ta fonction prend l'employé et l'augmentation en paramètre, donc tu l'appelles comme ça : salaryAugmentation(employe28, 250);
Et dedans tu fais "employe.salary += augmentation;".

Dernière chose si c'est pas trop pour toi, l'accès direct et public aux attributs est fortement déconseillé en POO, c'est-à-dire que les attributs doivent être private et non public, et être modifiable et consultables via des méthodes set et get pour chaque attribut (quand c'est nécessaire bien sûr).

Tikim
Tikim
Niveau 21
09 avril 2013 à 19:49:45

C'est peut-être vrai, j'ai encore jamais croisé de cas comme ça et je vois pas pourquoi ça le serait, mais je veux bien te croire. N'empêche que dans le paradigme objet, c'est habituellement entendu que les attributs sont privés, et sont accessibles via getters/setters (de nouveau, dans la limite du besoin. Y'a rien de pire que de voir des classes avec les getters/setter de chaque attribut quand c'est pas nécessaire).

[-ArK-]
[-ArK-]
Niveau 29
09 avril 2013 à 20:53:33

| Ecrit par « PommesCarrotes », 9 avril 2013 à 19:25:28
| « j'avais lu (Sûrement pas sur JVC), que dans le cas d'un jeu, vu la masse de variable qu'il y a, il était préférable d'utilise des public / protected plutôt que utiliser seulement des private avec getter/setter. Est-ce vrai, je ne sais pas :sarcastic: . »

C'est ce qui est recommandé pour android, et android uniquement :oui:

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment