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

Langage Java Discussion :

heritage


Sujet :

Langage Java

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 188
    Points : 86
    Points
    86
    Par défaut heritage
    salut,

    tout d'abord je suis pas sur et certain que ce que je veux faire fait appel à l'heritage mais bon...

    j'ai plusieurs classes qui doivent toutes accéder à un ensemble commun de variables. Je me disais que ce serait mieux de definir ces variables dans une seule classe plutot que dans chacune des classes. Je pourrais peut etre remonter tout ca dans une classe "mere" et accéder à ces variables depuis les classes "fils". Bon maintenant concretement comment je declare ma classe mere et comment j'y accede depuis les classes fils?
    Pour info, dans la classe mere, je ne voudrais declarer que des variables et pas de methode vu que j'ai aucun traitement en commun dans les classes fils.

    merci d'avance.

  2. #2
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 188
    Points : 86
    Points
    86
    Par défaut
    j'ai parcouru le tutoriel mais j'ai pas trouve d'exemple ou on peut voir comment accéder à une variable de la classe mere.

    dans mon cas, j'imagine qu'il me faut une classe abstraite avec la definition des variables et pas de definition de methodes.
    mais comment j'y accède depuis la classe fille?

  4. #4
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    si la variable est pas privée tu l'appelles par son nom
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

  5. #5
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    exactement comme si tu accedait a une variable de ta classe fille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Mere {
     
        protected int variable1 = 26;
    }
     
    public class Fille extends Mere {
     
        public static void main(String[] args) {
            Fille f = new Fille();
            System.out.println(f.variable1);
        }
    }
    mais s'il s'agit de variable globale a l'application, il vaut mieux que tu les regroupe dans une classe et que tu les declare en static

    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 Globals {
     
        //tu declare tes variables globales en static (membre de classe)
        public static int variable1 = 32;
    }
     
    //une classe quelconque de l'appli
    public class ClassAppli {
     
        public static void main(String[] args) {
            //tu accede a la variable static par le nom de la classe
            System.out.println(Globals.variable1);
        }
    }

  6. #6
    Membre habitué Avatar de nicgando
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 128
    Points : 163
    Points
    163
    Par défaut
    tu peux aussi intégrer ces variables dans une interface, cela dépend de la portée (public, private, protected) que tu veux donner aux attributs.
    Sinon si cela peut aider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public abstract class Constant {
      protected String version = "V1.0";
    }
     
    public class Daughter extends Constant {
        protected String version = "V2.0";
     
        public Daughter() {
          System.out.println("super version is " + super.version);
          System.out.println("Daughter version is " + this.version);
        }
      }
    Pushing the limits ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. heritage des contraintes
    Par krimson dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 30/04/2004, 12h04
  2. [Kylix] heritage multiple et interfaces :(
    Par le_barbu dans le forum EDI
    Réponses: 4
    Dernier message: 26/01/2004, 19h30
  3. [Postgres] Pb d'heritage...
    Par anonia dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 23/08/2003, 22h34
  4. [HERITAGE] Redondance ou pas redondance ???
    Par cyrillus76 dans le forum Schéma
    Réponses: 1
    Dernier message: 11/06/2003, 09h46
  5. [PostgreSQL] Question vis a vis de l'heritage...
    Par Gandalf dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 12/05/2003, 16h53

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