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

Java Discussion :

héritage d'une classe pas dans le meme package


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut héritage d'une classe pas dans le meme package
    bonsoir tout le monde
    j'ai un probleme qui s'agit de définir une classe B (contenu dans un package PB) qui doit hériter d'une classe A (contenu dans un package PA).

    package A;
    class A {..}

    package B;
    class B extends PA.A {...}

    il detecte des erreurs dans la classe B dans les variables hérité de la classe A("the field A is not visible").

    est ce que quelqu'un peut m'aider???
    merci d'avance

  2. #2
    Membre expérimenté Avatar de hydraland
    Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Par défaut
    Salut,

    Il faut que ta classe A soit déclaré public pour que ton héritage fonctionne.

    A+
    Hydraland

  3. #3
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Billets dans le blog
    1
    Par défaut
    Oui je rejoins l'avis d'Hydraland. Si tu ne spécifies pas la visibilité de ta classe (private,public...), ce sont seulement les autres ressources du package qui pourront voir ta classe.

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    oué je l'ai affiché public mais pourtant ça ne fonctionne pas lorsqu'elle ne sont pas dans la meme package!!
    Avez vous une autre solution pour ce probleme???
    mercii

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    B ne peut pas accéder aux données privées de A.
    Il faut passer par des accesseurs ou par l'attribut protected.

  6. #6
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Billets dans le blog
    1
    Par défaut
    Tu as bien mis une ligne d'import pour ta classe située dans l'autre package

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Par défaut
    Peut être un problème d'arborescence des fichiers ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    src/
       |-- package_a
       |   `-- classA
       `-- package_b
           `-- classB

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    voilà l'arboresence de mes classes:
    package PA;
    public class A {}

    package PB;
    import package PA;
    public class B extends A {}

    mais ça ne marche pas! j'ai essayé
    public class B extends PA.A mais ça ne marche pas aussi!!!

Discussions similaires

  1. Appeler une classe située dans un meme projet
    Par clouddd dans le forum C#
    Réponses: 8
    Dernier message: 17/02/2010, 13h57
  2. Réponses: 6
    Dernier message: 30/03/2009, 18h13
  3. VBO dans une class : pas d'affichage
    Par Naelhem dans le forum OpenGL
    Réponses: 1
    Dernier message: 23/09/2008, 15h09
  4. Réponses: 0
    Dernier message: 10/04/2008, 22h37
  5. Réponses: 2
    Dernier message: 05/10/2007, 10h04

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