IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

differencier les données héritées des données de base


Sujet :

avec Java

  1. #1
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut differencier les données héritées des données de base
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    public class A
    {
    protected int x;
    ..........
    methodes
    .......
    }
    public class B extends A
    int y;
    ......
    .....
    Dans ma classe gestionnaire la données x de A et la données (heritée) x de B
    peuvent elles exister en même temps
    telles que
    question très simple, c'est sûr, mais je ne trouve pas la réponse !

    merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Vu les données que tu nous donnes, A.x et B.x ne veulent rien dire. Ça va donc être dur de répondre.

    Quoiqu'il en soit, la classe B hérite de la variable membre x de A.
    Par conséquent, x est la même chose pour B que pour A. Un objet de classe B a une variable x, et n'en a qu'une : celle héritée de A.

  3. #3
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    Il est donc impossible d'utiliser x comme appartenant à A et à B, (parallèlement),chacun dans sa classe. tu veux dire que A.x ==B.x systématiquement?

    Philippe

  4. #4
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Vu la façon dont tu écris la chose, on a l'impression que tu parles de variables statiques ; ou bien est-ce que tu parles d'instances ?

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Citation Envoyé par philippe6 Voir le message
    Il est donc impossible d'utiliser x comme appartenant à A et à B, (parallèlement),chacun dans sa classe. tu veux dire que A.x ==B.x systématiquement?
    De toute façon, A.x et B.x, ça ne veut rien dire. Je sais pas de quoi tu parles. C'est pourtant pas compliqué à comprendre, ça n'existe pas.

    Il est possible de se retrouver dans une situation où la classe B hérite de A, et redéfinit une variable x, alors que A définissait déjà une variable x. Dans ce cas la classe B contient deux variables nommées x (et qui peuvent être de type et de modificateurs différents.) La variable que "voit" la classe B est celle redéfinie par B, mais il y a des notations pour accéder à celle de la classe mère, A. Mais c'est compliqué, pas clair, à éviter.

    Ne pas faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class A {
      public int x;
      public A() {
        x = 2;
      }
    }
     
    public class B extends A {
      protected String x;
      B() {
        super.x = 4;
        x = String.valueOf(super.x);
      }
    }

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/08/2014, 10h25
  2. Typage des données/manipulation des données
    Par Moravski dans le forum GTK+ avec C & C++
    Réponses: 25
    Dernier message: 28/01/2011, 20h00
  3. Code Igniter Intercepter les erreurs lors des requêtes vers bases de données
    Par ilalaina dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 06/10/2009, 08h52
  4. importer des données d'excel dans la base de données
    Par Cifrine dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/06/2007, 15h48
  5. Insertion des données du formulaire dans la base
    Par bebas dans le forum Langage
    Réponses: 9
    Dernier message: 23/02/2007, 13h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo