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 :

Problème héritage et vecteur


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Problème héritage et vecteur
    Bonjour à tous.
    Voila je débute en java et j'ai un probleme :
    Dans un projet, j'ai une classe produit, une classe film qui hérite de produit, et une classe listeProduit qui contient un vecteur de produit. Mon probleme est que mon vecteur ne contient que les attributs de produits, et non de film.
    Histoire d'etre un peu plus clair, je vais résumer le code

    classe produit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public class produit() {
        private String prodNom = new String();
        private int prodPrix = 0;
    }
    classe film :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public class film extends produit() {
        private String prodSupport = new String();
    }
    classe listeProduit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public class listeProduit() {
        public Vector <produit> VProduit = new Vector();
    }
    Donc j'ai créé un vecteur de produit, donc c'est normal que je ne puisse pas mettre d'attributs de films dedans. Mais le problème c'est que j'ai plusieurs classes qui héritent de produit, faut-il que je fasse un vecteur pour chaque classe fille ? Y a-t-il une meilleure solution?
    J'espère avoir été assez clair!
    Merci d'avance à ceux qui me répondront.

  2. #2
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    List<? extends Produit> vProduit = new Vector();
    // les conventions de nommage n'existent pas que pour les autres
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  3. #3
    Membre actif Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Points : 294
    Points
    294
    Par défaut
    tu pourras mettre dans ton vecteur des objets qui héritent de Produit, sans problème.

    Un conseil : pourquoi ne pas faire de ta classe ListeProduit une sous-classe de Vector<Produit> ?
    Hope it helps !
    Nouveau ! Il y a une vie après le java, oxygénez-vous

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Merci pour vos réponses. J'ai déclaré le vecteur comme vous m'avez dit. Maintenant, sans vouloir abuser de votre gentillesse, j'ai encore une question :

    pour ajouter un élément dans le vecteur (un film par exemple), ce code ne marche pas :

    code de la classe listeProduit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public Vector <? extends produit> VProduit = new Vector();
    public void ajout(film F) {
        this.VProduit.add(F)
    }
    L'erreur à la ligne this.VProduit :
    cannot find symbol
    symbol : method add(nomdupackagepackage.produit)
    location : class java.util.Vector<capture of ? extends nomdupackage.produit>

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Personne n'a une idée ?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Toujours personne?

  7. #7
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Tu es en quelle version de java ?

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Points : 446
    Points
    446
    Par défaut
    Salut,
    Tu devrais utiliser Arraylist a la place de vector. Il est déconseillé d'utiliser la classe Vector au profit de Arraylist depuis longtemps (Java 1.2) !

    Une autre remarque au sujet des règles de nommage que tu utilises. En général, les nom de classes commencent par une majuscule et le noms de variables par une minuscule. Ca facilitera la relecture de ton code
    Il est agréable d'avoir le choix. La difficulté est alors de faire le bon (ou le moins pire).

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par chtig
    Tu es en quelle version de java ?
    Je suis en Java 2.0 je crois, sous NetBeans IDE 5.5

  10. #10
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Java 2 ?!? Ah ben les generics c'est pas gagné alors lol

  11. #11
    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
    MDR, je dirais même que rien ne va être facile !
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

Discussions similaires

  1. Problèmes avec les Vecteurs
    Par alsimb dans le forum C
    Réponses: 8
    Dernier message: 10/02/2007, 10h29
  2. [POO] Problème héritage des classes PHP4
    Par zana74 dans le forum Langage
    Réponses: 2
    Dernier message: 15/08/2006, 16h00
  3. Problème Héritage JavaScript
    Par Flavien dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/07/2006, 13h29
  4. Problème héritage CWnd
    Par ptitJP dans le forum MFC
    Réponses: 4
    Dernier message: 21/04/2006, 11h41
  5. problème avec un vecteur
    Par Mathieu.J dans le forum C++
    Réponses: 9
    Dernier message: 30/10/2005, 22h53

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