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 :

[Language][Héritage] utiliser un constructor d'une classe parallèle?


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 6
    Par défaut [Language][Héritage] utiliser un constructor d'une classe parallèle?
    Comment dois-je m'y prendre pour créer une classe avec un constructor provenant d'une classe parallèle et non pas d'une super-classe?

    Je m'explique. Par ex, si je veux créer la classe tricycle qui hérite de la classe deuxRoues. Cependant j'ai besoin du constructor de la classe trotinette qui est une classe parallèle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class Tricycle extends deuxRoues {
       public class Tricycle() {
           super();                    // ici j'aimerais constuire mon Tricycle avec le   
                                              constructor de trotinette.
    Comment ça marche ?

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    On ne peut pas créer un tricycle avec un constructeur de trotinette ?! A moins que le tricycle hérite de la trotinette.

    Ce que j'aime bien, c'est le tricycle (3 roues) qui hérite de deuxRoues. Il n'y aurait pas comme un défaut de conception là-dessous ?


    Enjoy yourself !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 48
    Par défaut
    C'est impossible... et n'a aucun sens !!!

    Si tu aimerais une construction commune à "Tricycle" et "Trotinette", alors crée une classe abstraite héritant de "DeuxRoues" et fais hériter "Tricycle" et "Trotinette" de cette nouvelle classe.

    - Colargol

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 6
    Par défaut
    c'est vrai que cet exemple est ridicule

    bref je réexplique mon cas avec des exemples plus concrets.
    j'ai une classe Forme avec une sous-classe Maison. Cette dernière permet de d'afficher une maison à l'ecran. Maintenant je souhaite créer une nouvelle classe Village qui affiche trois maisons l'une à côté des autres. Mais d'après le travail que l'on me demande, la classe Village doit hériter de Forme et utiliser la classe Maison pour construire un village.

    Est-ce possible?

    En résumé, je dois reconstruire ces classes à partir de la javadoc qui m'est fournie. On me fournit également la classe Forme.

  5. #5
    Membre expérimenté
    Avatar de JHelp
    Inscrit en
    Octobre 2002
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 185
    Par défaut
    Oui bien sur, il suffit de stocker tes maison dans une liste (ArrayList, Vector, TreeSet, Hashtable, ... t'as l'embaras du choix, ca dépend ensuite ce que tu veux faire de liste)
    Un petit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    import java.util.*;
    public class Village extends Forme
    {
         private ArrayList maisons = new ArrayList();
         public Village()
         {
            //Construction du village
         }
         public void ajouterMaison(Maison maison)
         {
               this.maisons.add(maison);
         }
         public int getNombreMaisons()
         {
                return this.maison.size();
          }
         public Maison getMaison(int indice)
         {
              return (Maison)this.maisons.get(indice);
          }
         public void dessinerVillage()
         {
              int nb = this.getNombreMaisons();
              for(int i=0; i<nb; i++)
              {
                 this.getMaison(i).dessinerMaison();
               }
           }
    //......
    }
    Tu vois l'idée ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 6
    Par défaut
    merci pour ton aide. Je ne connais pas encore ces méthodes de listing et je vais les essayer de suite.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 30/11/2008, 21h17
  2. Réponses: 14
    Dernier message: 08/04/2008, 16h42
  3. Utilisation de EnumChildWindows dans une class
    Par davels dans le forum Langage
    Réponses: 5
    Dernier message: 31/07/2007, 21h59
  4. utiliser les attribut d'une classe dans une autre classe
    Par kaissaoui dans le forum Langage
    Réponses: 11
    Dernier message: 18/07/2007, 15h13
  5. [VBA] Utilisation des gets pour une classe de classe
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/07/2007, 21h30

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