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

Petite question sur les classes

Gleuh
Gleuh
Niveau 10
14 septembre 2012 à 22:16:48

Bonjour,

En ce moment je me pose une petite question sur les Classes, est-ce qu'elles sont à jour ?
a chaque événement ? je m'explique :
J'utilise une Classe AdditionVariable qui héritent de VariablePrincipales, qui elles à, par exemple, une variables en protected de type int.
Dans mon Main, j'appelle le Constructeur de AdditionVariables, qui elle va prendre une variables de VariablePrincipales pour faire un +2 sur la variables en protected.
Puis j'ai ma Classe AfficherVariable, qui elle aussi vient d'hériter de VariablesPrincipales, pour ensuite afficher dans la console la variables en protected.
Voilà, après cet exemple peut être bizarre, est-ce que si je fais appelle à AdditionVariables qui héritent de VariablesPrincipales, puis après les opération finie, je fait appel à AfficherVariables SANS paramètre, mais en héritant de variables qui a eu sa modification terminée, est-ce que le programme va afficher la valeur de la variables quand elle a été modifié ou la valeur par défaut ?
En espérant que vous ayez compris.
merci.

chris_27
chris_27
Niveau 10
14 septembre 2012 à 23:03:57

Bonjour,

"les Classes, est-ce qu'elles sont à jour ? " :d) ça part mal. :(

Une classe, c'est rien d'autre que la définition d'un nouveau type. Une fois que c'est défini, c'est figé et puis c'est tout.

"je fais appel à ..." :d) tu appelles une méthode. L'objet sur laquelle tu appelles cette méthode a un type, et comme c'est un objet, son type est une classe... qui doit donner une déclaration de la méthode que tu appelles. Cette décalaration est normalement accompagnée d'une définition... consulte cette définition et tu sauras ce qui se passe.

PS: j'ai passé sous silence le cas du polymorphisme obtenu via des classes abstraites là, histoire de simplifier le discours (mais ça ne change rien au final).

hyrulink2
hyrulink2
Niveau 7
14 septembre 2012 à 23:50:09

C'est peut-être l'heure tardive qui fait ça mais je ne comprends absolument rien à ce que tu racontes Gleuh. Tu mélanges tout, méthodes, classes, variables, evenements(?). De quel langage tu parles déjà? Sais tu ce qu'est une classe?

Gleuh
Gleuh
Niveau 10
14 septembre 2012 à 23:58:56

oui je sais, j'ai juste utiliser les mauvais mots pour expliquer les choses désolé ...
bon je vais faire un exemple, en java.
J'ai mon Main.
de mon main je fais appel à la classe A.
puis, dans mon main, je fait A.getVariable() + 1;
Puis, je fait appel à la classe B qui hérite de A, qui affiche dans son constructeur la variable de A.
ça affichera la valeur de A.getVariable() + 1 ou la valeur par défaut ?

lokilok
lokilok
Niveau 16
15 septembre 2012 à 00:04:13

Ça dépend si la variable est static j'imagine.

hyrulink2
hyrulink2
Niveau 7
15 septembre 2012 à 00:07:51

getVariable est une méthode statique? Parce que sinon tu ne peut pas faire A.getVariable().
Ensuite, quel est le contenu de getVariable? Et enfin, que veut tu dire par "je fait appel à la classe B"?

Gleuh
Gleuh
Niveau 10
15 septembre 2012 à 00:23:27

bah genre "B b = new B();"

Neofungamer
Neofungamer
Niveau 22
15 septembre 2012 à 00:52:48

tu instancies un objet b de type B

tbop2
tbop2
Niveau 10
15 septembre 2012 à 01:12:20

Je n'ai rien compris. Je demande un code source pour essayer de comprendre (d'ailleurs à mon avis écrire le code source donnera très certainement la réponse à ta question, sans pouvoir l'expliquer).

Gleuh
Gleuh
Niveau 10
15 septembre 2012 à 12:53:22

ouai là j'ai accès à un PC je vais esseyer :hap:

Pseudo supprimé
Pseudo supprimé 15 septembre 2012 à 18:45:55

Ok on reste dans les accesseurs alors :oui:

Je crois que j'ai compris, je vais rester dans le C++, d'une parce que je suis sûr que static n'est pas dans le problème, de deux parce que je hais Java :hap:

"Puis, je fait appel à la classe B qui hérite de A, qui affiche dans son constructeur la variable de A.
ça affichera la valeur de A.getVariable() + 1 ou la valeur par défaut ?"

:d) l'utilisation d'un accesseur, que ce soit A.getVariable(), ou un A.getVariable+10*50/4, n'entraîne que la récupération de cette variable.

Il est impossible de la modifier directement dans ta classe originale. Sauf si on fait appel à un mutateur (setVariable()), mais c'est une autre histoire.

Donc :

quand tu appelles le constructeur de ta classe B, c'est simple. Si tu lui ordonnes d'afficher A.getVariable()+1, il affichera A.getVariable()+1. Si tu lui dis d'afficher A.getVariable(), il affichera A.getVariable().

En espérant que je n'ai dis aucune conner...bêtise.

chris_27
chris_27
Niveau 10
15 septembre 2012 à 21:16:56

"genre B b = new B();" :d) Tu crées un objet de type b via le constructeur B::B(), où est la question ? :question:

Gleuh
Gleuh
Niveau 10
15 septembre 2012 à 21:50:55

et si au lieu d'utiliser les accesseurs, j'utilise l'héritage ? :p)

Neofungamer
Neofungamer
Niveau 22
15 septembre 2012 à 21:55:34

J'ai compris ta question je crois.
Les attributs "protected" sont uniques dans chaque instance.
Donc on a toujours la valeur par défaut sauf dans le cas des variables static.

c'est ça?

Pseudo supprimé
Pseudo supprimé 15 septembre 2012 à 22:01:08

J'adore, on a tous des interprétations différentes :rire2:

Pseudo supprimé
Pseudo supprimé 15 septembre 2012 à 22:03:12

Gleuh
Posté le 15 septembre 2012 à 21:50:55
et si au lieu d'utiliser les accesseurs, j'utilise l'héritage ? :p)

:d) je pense que tu te compliques un peu trop la vie :-)))

Pour l'héritage, si c'est uniquement pour parvenir à utiliser les variables en protected, je trouve ça un peu lourd...

Après, explicite vraiment ton problème, car je ne suis même pas certain d'avoir compris :peur:

Gleuh
Gleuh
Niveau 10
15 septembre 2012 à 22:42:36

Ha la réponse est non en faites, désolé du dérangement etc, je me suis fait une petit mauvaise vision des classes.

Neofungamer
Neofungamer
Niveau 22
15 septembre 2012 à 23:24:19

Mais c'était quoi la question?

Gleuh
Gleuh
Niveau 10
16 septembre 2012 à 11:50:56

J'arrive pas à expliquer :hap:

Pseudo supprimé
Pseudo supprimé 16 septembre 2012 à 12:06:56

J'ai l'intime conviction que résoudre ton problème va être compliqué :hap:

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