Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème dans la gestion de l'héritage

ainsi que dans sa manipulation

Sujet résolu
    18 mai 2012 à 20:43:21

    Bonjour, je suis en train de réaliser un devoir pour ma formation. Le sujet, créer un vaisseau dans lequel se trouve des membres d'équipages et des passagers.
    Chaques membres d'équipage dispose de quelques attributs et méthodes, ainsi que chaque passagers.

    J'ai déjà réalisé un bon morceau de l'exercice, mais là je sèche un peu.

    Comme je ne sait pas du tout quelles partie de mon code affiché, je vais essayer de m'exprimer de manière générale.
    Si après avoir lu ce post vous avez besoin que j'affiche du code, dite moi lequel et je le mettrait.


    J'explique :
    Je dispose de différentes classe :
    UnEtre
    UnExtraterrestre qui hérite de UnEtre
    UnHumain qui hérite de UnEtre
    UnHomme qui hérite de UnHumain
    UneFemme qui hérite de UnHumain

    UnMembreEquipage


    Chaque classe fonctionne très bien; mais mon problème est lorsque dans le Main, je créer UnMembreEquipage, mon premier paramètre est de type UnEtre pour pouvoir créer UnHomme, UneFemme ou UnExtraterrestre. Mais dans le Main par la suite, je ne peux accéder qu'au paramètres de la classe UnEtre et non aux paramètres de la classe envoyé au départ.

    C'est plutôt difficile d'expliquer mais je pense que ce n'est pas un gros problème pour des personnes qui s'y connaissent.

    Merci d'avance pour l'aide que vous m'apporterez
    • Partager sur Facebook
    • Partager sur Twitter
      18 mai 2012 à 20:49:58

      Bonsoir,

      C'est tout à fait normal. Il faut bien différencier deux choses : Le type d'un objet et la classe d'implémentation utiliser pour l'initialiser.

      Lorsque tu déclares un objet de type UnEtre, peu importe la classe choisie pour l'initialisation, tu ne pourras accéder qu'aux méthodes d'unEtre.

      Je ne connais pas l'intelligence derrière ton application mais tu peux par exemple caster ton objet pour récupérer l'accès aux méthodes de la classe désirée.
      • Partager sur Facebook
      • Partager sur Twitter
      Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
        18 mai 2012 à 22:15:59

        Ok pour le cast mais il faut que je fasse trois constructeur quasi identiques dans UnMembreEquipage. un pour chaqu'un des 3 types d'etre utilisés.

        N'y aurait il pas une autre solution qui me permettrait d'accéder au accesseurs (get) de chaques type initialisé :
        par exemple:

        private UnEtre etre;
        
        UnMembreEquipage(UnEtre etre)
        {
        this.etre = new '"type initilisé lors de l'appel du constructeur dans le main : UnHomme, UneFemme, UnExtraterrestre'"
        }
        
        getEtre()
        {
        return touts les accesseurs se trouvant dans la classe initialisé et non uniquement dans UnEtre;
        }
        


        Merci pour l'aide
        • Partager sur Facebook
        • Partager sur Twitter
          18 mai 2012 à 22:29:51

          Déjà, pour moi, si tes classes s'appellent UnQuelqueChose, c'est que tu as un problème et que tu n'as pas compris quelque chose.
          Je te conseille donc de retourner voir la partie du tuto Java qui traite de cette problématique.
          • Partager sur Facebook
          • Partager sur Twitter
            18 mai 2012 à 22:53:09

            SpaceFox, pourrais-tu développer car je trouve que ta réponse n'est pas très constructive et légèrement insultante ; merci pour le conseil, je le suivrait.

            Il me semble qu'en programmation en général, il y a certaines conventions qui ne sont pas obligatoires et l'appellation de classe (leurs nom) en fait partie. Certes ce n'est pas très orthodoxe mais cela fonctionne et ne pose aucuns problèmes au fonctionnement.
            • Partager sur Facebook
            • Partager sur Twitter
              19 mai 2012 à 0:08:28

              Certes, ça marche. Mais préfixer toutes ses classes par "Un" ou "Une" est en soit une preuve que tu n'as pas bien compris ce qu'est une classe, puisque la classe ne représente pas justement "un" (être, humain, extra-terrestre) mais "tous" (tous les êtres, tous les humains, tous les extraterrestres, ...).
              Éventuellement, on pourrait imaginer que "unHumain" soit un objet, instance de "Humain".
              • Partager sur Facebook
              • Partager sur Twitter
                19 mai 2012 à 9:24:15

                SpaceFox, je comprend mieux ton point de vue, je travaille sous Eclipse et ce n'est pas difficile de modifier tout ça, ce que je ferais pour respecter les conventions.

                Mais cela ne m'aide pour l'instant pas à comprendre comment résoudre mon problème.
                • Partager sur Facebook
                • Partager sur Twitter
                  19 mai 2012 à 10:08:03

                  Citation : Nene0412

                  Bonjour, je suis en train de réaliser un devoir pour ma formation. Le sujet, créer un vaisseau dans lequel se
                  Chaque classe fonctionne très bien; mais mon problème est lorsque dans le Main, je créer UnMembreEquipage, mon premier paramètre est de type UnEtre pour pouvoir créer UnHomme, UneFemme ou UnExtraterrestre. Mais dans le Main par la suite, je ne peux accéder qu'au paramètres de la classe UnEtre et non aux paramètres de la classe envoyé au départ.

                  C'est plutôt difficile d'expliquer mais je pense que ce n'est pas un gros problème pour des personnes qui s'y connaissent.

                  Merci d'avance pour l'aide que vous m'apporterez



                  Salut,

                  si j'ai bien compris ton problème, il suffit de faire un CAST.

                  Exemple sur une méthode :
                  public void function neFaitRien (Etre etre) {
                     //La je peux utiliser UNIQUEMENT les méthodes présentes dans la classe Etre.
                     int age = etre.getAge();
                     ...
                     //Je teste si l'etre est un extraterrestre
                     if (etre instanceof Extraterrestre) {
                          //Je peux faire le cast.
                          Extraterrestre et = (Extraterrestre) etre;
                          //Là, après le cast, je peux utiliser les méthodes de l'homme 
                          int nbTentacules = et.getNombreTentacules();
                          ....    
                     } else if(etre instanceof Homme) {
                          Homme h = (Homme) etre;
                          ...
                     }
                     ...
                  }
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 mai 2012 à 11:19:52

                    Ok je ne connaissai pas encore 'instanceof'.

                    Ton exemple peut-il etre applicable dans un Constructeur :

                    class Membre
                    {
                    private Etre etre;
                    
                    Membre (Etre etre)
                    {
                    if (etre instanceof Etre)
                    this.etre = etre;
                    else if (etre instanceof Homme)
                    this.etre = (Homme) etre;
                    else if (etre instanceof Femme)
                    this.etre = (Femme) etre;
                    ...
                    


                    Si j'écris cela mon objet etre (this.etre) sera-t'il du type énoncé dans la condition et pourrais-je manipuler depuis le main les accesseurs du type du cast ?
                    Car c'est, je pense, ce que je veut faire.

                    merci et pardon AndroWiid qui m'avait énoncé cette idée dont je n'ai pas compris l'utilisation. Il est vrai qu'avec un exemple on comprend toujours mieux.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 mai 2012 à 11:48:53

                      Il faut vraiment que tu revois les notions d'héritage car le code que tu écris n'a aucun sens !

                      class Membre
                      {
                      private Etre etre;
                      
                      Membre (Etre etre)
                      {
                      //Pourquoi tester si etre est une instance de Etre sachant que dans ton prototype de méthode tu as "Etre etre" ?
                      if (etre instanceof Etre)
                      this.etre = etre;
                      //Code équivalent à 
                      this.etre = etre;
                      //Le code suivant n'a pas de sens, tu cast un Etre en Homme puis tu le recastre en Etre ?
                      else if (etre instanceof Homme)
                      this.etre = (Homme) etre;
                      ...
                      


                      Il ne faut pas utiliser dans ton cas le CAST ou instanceof dans ta classe Membre mais dans ton Main. Un exemple :

                      class Membre {
                        private Etre etre;
                        Membre (Etre etre) {
                          this.etre = etre;
                        }
                        public function Etre getEtre () {
                          return this->etre;
                        }
                      }
                      
                      public function Main () {
                          Homme h = new Homme();
                          Membre m = new Membre (h);
                          
                          Etre e = m.getEtre();
                          boolean aEnfant = false;
                          if (e instanceof Femme) {
                            //Je cast l’être en femme et je peux maintenant apliquer les méthodes de la classe Femme.
                            aEnfant = ((Femme)e).estMaman();
                          }
                          if (e instanceof Homme) {
                            //Je cast l’être en Homme et je peux maintenant appliquer les méthodes de la classe Homme.
                            aEnfant = ((Homme)e).estPapa();
                          }
                      }
                      





                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 mai 2012 à 12:03:42

                        Cela dit, en général, un traitement différentié à coup de instanceof est la partie visible d'un problème de conception quelque part.

                        Dans ton exemple, pourquoi voudrais-tu accéder aux méthodes spécifiques de l'homme / la femme / l'alien ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          19 mai 2012 à 12:21:00

                          Citation : Nene0412

                          Bonjour, je suis en train de réaliser un devoir pour ma formation. Le sujet, créer un vaisseau dans lequel se trouve des membres d'équipages et des passagers.



                          Tout est dit ici : dans le vaisseau, tu ne veux pas accéder à des "êtres" mais à des "humains". Donc :

                          UnMembreEquipage(UnEtre etre)
                          


                          est faux.

                          Ulspider> De manière générale, je pense qu'il vaut mieux cacher l'existence des casts et de instanceof aux débutants. Le système de types de Java, depuis la version 1.5, est suffisamment expressif pour qu'on s'en passe dans la majorité des cas.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            19 mai 2012 à 13:28:22

                            Citation : SpaceFox

                            Cela dit, en général, un traitement différentié à coup de instanceof est la partie visible d'un problème de conception quelque part.

                            Dans ton exemple, pourquoi voudrais-tu accéder aux méthodes spécifiques de l'homme / la femme / l'alien ?



                            Citation : snlsdflkkl

                            Citation : Nene0412

                            Bonjour, je suis en train de réaliser un devoir pour ma formation. Le sujet, créer un vaisseau dans lequel se trouve des membres d'équipages et des passagers.



                            Tout est dit ici : dans le vaisseau, tu ne veux pas accéder à des "êtres" mais à des "humains". Donc :

                            UnMembreEquipage(UnEtre etre)
                            



                            est faux.

                            Ulspider> De manière générale, je pense qu'il vaut mieux cacher l'existence des casts et de instanceof aux débutants. Le système de types de Java, depuis la version 1.5, est suffisamment expressif pour qu'on s'en passe dans la majorité des cas.



                            Ce n'est pas toujours facile de trouver un exemple simple ;)

                            Mais de toute façon il est claire que Nene0412 tu dois revoir les bases de l'héritage, de la redéfinition et de la surcharge des méthode car je pense que ce n'est pas très clair dans ta tête.

                            Un document présentant une partie de ces notions : Lien
                            • Partager sur Facebook
                            • Partager sur Twitter
                              20 mai 2012 à 22:16:01

                              UlSpider -> il est vrai que je comprend tout à fait les sens d'héritage et de surcharge de méthodes mais je manque cruellement d'expérience, je suis encore en formation et je suis encore un débutant en programmation objet.

                              Je pense que pour plus de concret et plus de simplicité; mais aussi car je pense que SpaceFox à raison lorsqu'il dit que si j'ai besoin des 'instanceof' c'est qu'il y a des problèmes de conception; je vais mettre le code de mon projet, toutes classes en secret sinon cela risque de faire un message plutôt long.

                              Alors attention vos yeux, je sais qu'il y en a qui me diront que ça pique mais essayez de penser qu'il y a des années vous aussi étiez des débutants et vous aussi vous avez eu besoin de conseils comme moi aujourd'hui.

                              Pour commencer, la classe Etre :
                              public class Etre 
                              {
                              	private String nom;
                              	private Planete nomPlaneteOrigine;
                              	
                              	
                              	Etre()	{this(null, null);}
                              	
                              	Etre (String nom)	{this(nom, null);}
                              	
                              	
                              	Etre (String nom, String nomPlanete)
                              	{
                              		this.nom = nom;
                              		
                              		try
                              		{
                              			if (nomPlanete.toLowerCase().equals("terre"))
                              				this.nomPlaneteOrigine = Planete.TERRE;
                              			else if (nomPlanete.toLowerCase().equals("mars"))
                              				this.nomPlaneteOrigine = Planete.MARS;
                              			else if (nomPlanete.toLowerCase().equals("vulcain"))
                              				this.nomPlaneteOrigine = Planete.VULCAIN;
                              			else if (nomPlanete.toLowerCase().equals("venus"))
                              				this.nomPlaneteOrigine = Planete.VENUS;
                              			else if (nomPlanete.toLowerCase().equals("autre"))
                              				this.nomPlaneteOrigine = Planete.AUTRE;
                              			else if (nomPlanete.toLowerCase().equals(null))
                              				this.nomPlaneteOrigine = null;
                              			else
                              				throw new OperationInterditeSurSoft("Cette planete est inconnue. Entrez un nom conforme.");
                              			}		
                              		catch (OperationInterditeSurSoft OpInterdite)	{}			
                              	}
                              	
                              	
                              	void setNom(String nom)	{this.nom = nom;}
                              	
                              	String getNom()	{return this.nom;}
                              	
                              	String getNomPlaneteOrigine()	{return this.nomPlaneteOrigine.getNomPlanete();}
                              }
                              


                              Puis le classe Extraterrestre :

                              public class Extraterrestre extends Etre
                              {
                              	private boolean aDesCheveux, oreillesPointues;
                              	
                              	Extraterrestre(String nom, String planeteOrigine, boolean aDesCheveux, boolean aDesOreillesPointues)
                              	{
                              		super(nom, planeteOrigine);
                              		this.aDesCheveux = aDesCheveux;
                              		this.oreillesPointues = aDesOreillesPointues;
                              	}
                              	
                              	Extraterrestre(String nom, String planeteOrigine, boolean aDesCheveux)
                              	{
                              		this(nom, planeteOrigine, aDesCheveux, false);
                              	}
                              	
                              	
                              	
                              	boolean getADesCheveux()	{return this.aDesCheveux;}
                              	
                              	boolean getOreillesPointues()	{return this.oreillesPointues;}
                              	
                              	
                              	void setADesCheveux(boolean aDesCheveux)	{this.aDesCheveux = aDesCheveux;}
                              }
                              


                              La classe Humain :

                              class Humain extends Etre
                              {
                              	Humain(String nom)
                              	{
                              		super(nom, "terre");
                              	}
                              
                              }
                              


                              La classe Homme :

                              public class Homme extends Humain
                              {
                              	private int age;
                              	private boolean moustachu;
                              	
                              	
                              	Homme(String nom, int age, boolean moustachu)
                              	{
                              		super(nom);
                              		this.age = age;
                              		this.moustachu = moustachu;		
                              	}
                              	
                              	Homme(String nom, int age)
                              	{
                              		this(nom, age, false);
                              	}
                              	
                              		
                              	int getAge()	{return this.age;}
                              	
                              	boolean getMoustachu()	{return this.moustachu;}
                              	
                              	
                              	void setAge(int age)	{this.age = age;}
                              	
                              	void setMoustachu(boolean moustachu)	{this.moustachu = moustachu;}
                              }
                              


                              La classe Femme :

                              public class Femme extends Humain 
                              {
                              	private double taille;
                              	private CouleurYeux couleurYeux;
                              	
                              	
                              	Femme(String nom, double taille, String couleurYeux)
                              	{
                              		super(nom);
                              		this.taille = taille;
                              		
                              		try
                              		{
                              			if(couleurYeux.toLowerCase().equals("bleu"))
                              				this.couleurYeux = CouleurYeux.BLEU;
                              			else if(couleurYeux.toLowerCase().equals("marron"))
                              				this.couleurYeux = CouleurYeux.MARRON;
                              			else if(couleurYeux.toLowerCase().equals("vert"))
                              				this.couleurYeux = CouleurYeux.VERT;
                              			else if(couleurYeux.toLowerCase().equals("autre"))
                              				this.couleurYeux = CouleurYeux.AUTRE;
                              			else if(couleurYeux.toLowerCase().equals(null))
                              				this.couleurYeux = null;
                              			else
                              				throw new OperationInterditeSurSoft("Cette couleur d'yeux est inconnue. Entrez un nom conforme.");
                              		}
                              		catch (OperationInterditeSurSoft OpInterdite)	{}		
                              	}
                              	
                              	
                              	double getTaille()	{return this.taille;}
                              	
                              	String getCouleurYeux()	{return this.couleurYeux.getCouleurYeux();}
                              	
                              	
                              	void setTaille(double taille)	{this.taille = taille;}
                              }
                              


                              La fameuse classe MembreEquipage :

                              public class MembreEquipage 
                              {
                              	private Etre membre;
                              	private Grade grade;
                              	private Arme arme;
                              
                              	
                              	MembreEquipage(Etre etre, String grade, String arme)
                              	{
                              		this.membre = etre;
                              		
                              		try
                              		{
                              			if (grade.toLowerCase().equals("capitaine"))
                              				this.grade = Grade.CAPITAINE;
                              			else if (grade.toLowerCase().equals("lieutenant"))
                              				this.grade = Grade.LIEUTENANT;
                              			else if (grade.toLowerCase().equals("scientifique"))
                              				this.grade = Grade.SCIENTIFIQUE;
                              			else if(grade.toLowerCase().equals("autre"))
                              				this.grade = Grade.AUTRE;
                              			else if (grade == null)
                              				this.grade = null;
                              			else
                              				throw new OperationInterditeSurSoft("Ce grade est inconnu. Entrez un grade conforme.");
                              		}
                              		catch(OperationInterditeSurSoft OpInterdite)	{}
                              		
                              		try
                              		{
                              			if (arme.toLowerCase().equals("phaseurs"))
                              				this.arme = Arme.PHASEURS;
                              			else if (arme.toLowerCase().equals("fuseurs"))
                              				this.arme = Arme.FUSEURS;
                              			else if (arme == null)
                              				this.arme = null;
                              			else
                              				throw new OperationInterditeSurSoft("Cette arme est inconnue. Entrez un nom d'arme conforme.");
                              		}
                              		catch(OperationInterditeSurSoft OpInterdite)	{}		
                              	}
                              	
                              	
                              	MembreEquipage(Etre etre, String grade)		{this(etre, grade, null);}
                              
                              	MembreEquipage(Etre etre)	{this(etre, null, null);}
                              	
                              	MembreEquipage()	{this(null, null, null);}
                              	
                              	
                              	
                              	
                              	String getGrade()
                              	{
                              		if (this.grade == null)
                              			return ("Le grade de ce membre d'equipage n'est pas defini.");
                              		else
                              			return this.grade.getGrade();
                              	}
                              
                              	
                              	String getArme()
                              	{
                              		if (this.arme == null)
                              			return ("L'arme de ce membre d'equipage n'est pas defini.");
                              		else
                              			return this.arme.getNomArme();
                              	}
                              
                              	
                              	void setGrade(String grade)
                              	{
                              		try
                              		{
                              			if (grade.toLowerCase().equals("capitaine"))
                              				this.grade = Grade.CAPITAINE;
                              			else if (grade.toLowerCase().equals("lieutenant"))
                              				this.grade = Grade.LIEUTENANT;
                              			else if (grade.toLowerCase().equals("scientifique"))
                              				this.grade = Grade.SCIENTIFIQUE;
                              			else if(grade.toLowerCase().equals("autre"))
                              				this.grade = Grade.AUTRE;
                              			else if (grade == null)
                              				this.grade = null;
                              			else
                              				throw new OperationInterditeSurSoft("Ce grade est inconnu. Entrez un grade conforme.");
                              		}
                              		catch(OperationInterditeSurSoft OpInterdite)	{}
                              	}
                              	
                              	
                              	void setArme(String arme)
                              	{
                              		try
                              		{
                              			if (arme.toLowerCase().equals("phaseurs"))
                              				this.arme = Arme.PHASEURS;
                              			else if (arme.toLowerCase().equals("fuseurs"))
                              				this.arme = Arme.FUSEURS;
                              			else if (arme == null)
                              				this.arme = null;
                              			else
                              				throw new OperationInterditeSurSoft("Cette arme est inconnue. Entrez un nom d'arme conforme.");
                              		}
                              		catch(OperationInterditeSurSoft OpInterdite)	{}
                              	}
                              
                              	
                              	Etre getMembre()	{return this.membre;}
                              
                              }
                              


                              Puis les classes annexes, elles sont toutes dans des fichiers séparés mais je les met toutes dans une seule fenetre secret pour plus de lisibilité : classe Arme, CouleurYeux, Grade, Planete et OperationInterditeSurSoft :

                              public enum Arme 
                              {
                              	PHASEURS("Phaseurs"), 
                              	FUSEURS("Fuseurs");
                              	
                              	private String nomArme;
                              	
                              
                              	
                              	Arme(String nom)
                              	{
                              		this.nomArme = nom;
                              	}
                              	
                              	Arme() {this(null);}
                              	
                              
                              	
                              	public String getNomArme()	{return this.nomArme;}
                              }
                              
                              public enum CouleurYeux 
                              {
                              	BLEU("bleu"),
                              	MARRON("marron"),
                              	VERT("vert"),
                              	AUTRE("autre");
                              	
                              	private String couleur;
                              	
                              	
                              	CouleurYeux (String couleur)
                              	{
                              		this.couleur = couleur;
                              	}
                              	
                              	
                              	String getCouleurYeux()
                              	{
                              		return this.couleur;
                              	}
                              	
                              }
                              
                              public enum Grade 
                              {
                              	CAPITAINE("Capitaine"), 
                              	LIEUTENANT("Lieutenant"),
                              	SCIENTIFIQUE("Scientifique"),
                              	AUTRE("autre");
                              	
                              	private String grade;
                              	
                              
                              	
                              	Grade(String grade)
                              	{
                              		this.grade = grade;
                              	}
                              	
                              	Grade()	{this(null);}
                              	
                              	
                              	String getGrade()	{return this.grade;}
                              }
                              
                              public enum Planete 
                              {
                              	TERRE("Terre"),
                              	MARS("Mars"),
                              	VULCAIN("Vulcain"),
                              	VENUS("Venus"),
                              	AUTRE("autre");
                              	
                              	private String nomPlanete;
                              	
                              	
                              	Planete (String nom)
                              	{
                              		this.nomPlanete = nom;
                              	}
                              	
                              	
                              	String getNomPlanete()
                              	{
                              		return this.nomPlanete;
                              	}
                              	
                              }
                              
                              public class OperationInterditeSurSoft extends Exception
                              {
                              	
                              
                              	OperationInterditeSurSoft (String enTete)
                              	{
                              		Terminal.ecrireString("\n\n" + enTete + "\n\n");
                              	}
                              
                              }
                              


                              Et enfin la classe Main qui pour l'instant me sert à faire des tests de fonctionnement des différentes classes :

                              public class Main {
                              
                              	/**
                              	 * @param args
                              	 */
                              	public static void main(String[] args) 
                              	{
                              		Extraterrestre extra = new Extraterrestre("adus", "vulcain", true, false);
                              		
                              		MembreEquipage membre = new MembreEquipage(extra, "scientifique", "fuseurs");
                              		
                              		Terminal.ecrireStringln(membre.getArme());
                              		Terminal.ecrireStringln(membre.getGrade());
                              		Terminal.ecrireStringln(membre.getMembre().getNom());
                              		Terminal.ecrireStringln(membre.getMembre().getNomPlaneteOrigine());
                              		
                              	}
                              
                              }
                              


                              Ah j’oubliais, la classe Terminal est je sais une classe déjà définie en Java, elle permet les gestion des entrées sorties du terminal, je l'utilise car notre prof nous l'impose.

                              Voilà, je pense avoir tout mis, je sais cela fait beaucoup à lire et les commentaires ne sont pas encore présents car en général je les met quand le programme fonctionne. Je n'ai jamais fait de gros programme donc la gestion des commentaires était parfois inutile mais il est vrai que normalement on les met au fur et à mesure du développement.

                              Je suis ouvert à toutes critique constructive et développées car ce que je voudrai c'est comprendre pourquoi je ne peux pas faire ce que j'ai prévu, à savoir : enoncé au premier message -> Accéder au méthodes d'un objet créer dans MembreEquipage, quelque soit l'objet envoyé au constructeur au départ (sachant que ce sera Homme, Femme, Extraterrestre qui seront utilisés.

                              Merci pour votre patience et votre aide
                              Cordialement
                              Nene0412
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Problème dans la gestion de l'héritage

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown