Partage
  • Partager sur Facebook
  • Partager sur Twitter

égalité entre deux objets différents

    23 août 2009 à 12:37:38

    Salut, je suis nouveau dans le monde du Java, et je vois qu'on peut donner à un objet issu d'une class la valeur d'un autre objet issu d'une autre class, pourtant les deux n'occupent pas la meme place au niveau mémoire.
    parce que dans le langage C par exemple il est impossible de donner à un enregistrement la valeur d'un autre de type différant.

    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      23 août 2009 à 12:58:41

      redefinition d'equals(Object o)
      • Partager sur Facebook
      • Partager sur Twitter
        23 août 2009 à 13:00:26

        Merci pour la réponse mais désolé ... je n'ai rien compris
        • Partager sur Facebook
        • Partager sur Twitter
          23 août 2009 à 13:54:01

          En même temps tu ne poses aucune question dans ton post.
          • Partager sur Facebook
          • Partager sur Twitter
            23 août 2009 à 14:00:31

            Ah oui désolé, ma question est : comment ça ce fait qu'on peut affecter à un objet un objet différent ?
            //Def d'un tableau de ville null
               Ville[] tableau = new Ville[6];
                    
               //Définition d'un tableau de noms de Villes et d'un tableau de nombres d'habitants
               String[] tab = {"Marseille", "lille", "caen", "lyon", "paris", "nantes"};
               int[] tab2 = {123456, 78456, 654987, 75832165, 1594,213};
                     
               /* Les 3 premiers éléments du tableau seront des Villes,
                  et le reste, des capitales
               */
               for(int i = 0; i < 6; i++){
                 if (i <3){
                   Ville V = new Ville(tab[i], tab2[i], "france" );
                   tableau[i] = V;
                 }
                     
                 else{
                   Capitale C = new Capitale(tab[i], tab2[i], "france", "Sarko");
                   tableau[i] = C;
                 }
               }
                             
               //il ne nous reste plus qu'à décrire tout notre tableau !
               for(Ville v : tableau){
                 System.out.println(v.decrisToi()+"\n");
               }
            

            comme vous voyez "tableau" est tableau d'objets de type ville alors que l'objet C est de type capitale et comme même à la ligne 19 il y a l'affectation !

            • Partager sur Facebook
            • Partager sur Twitter
              23 août 2009 à 14:03:20

              Covariance des variables et polymorphisme, tu as lu le chapitre sur l'héritage ?
              • Partager sur Facebook
              • Partager sur Twitter
                23 août 2009 à 14:06:18

                Car une capitale est une ville tout simplement. Paris c'est bien une ville ET une capitale? Bon alors voilà c'est le concept objet représenter la réalité par des objets. Et là un exemple en est l'héritage.
                • Partager sur Facebook
                • Partager sur Twitter
                  23 août 2009 à 14:11:41

                  Ooooh il fallait que je continue ma lecture, l'explication été juste après et à la place de la lire j'ai demandé de l'aide ... DSL pour le dérangement et merci pour tout.
                  Pas du tout la classe capitale possède un champ de plus donc des cases mémoire de plus pour ces objets, je crois qu'on peut juste dire que le JAVA traite ce genre de procédures.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 août 2009 à 14:51:47

                    Mmmh... je pense tout simplement que les champs et méthodes de plus qu'à l'objet capitale sont masquées par le compilateur lorsqu'on les affecte à une ville, mais les objets reste bien des capitales, enfin c'est une sorte de substitution, le compilateur fait passer des objets capitales pour des villes, enfin je ne connais en détail la technique utilisée car je n'ai jamais programmer de compilateur, mais, ça doit être un truc du genre.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 août 2009 à 16:27:29

                      Erf... faudrait que tu apprennes à lire les structurogrammes toi. Enfin chez moi on appelles ça comme ça les implémentations d'algorithmes sur feuilles de manière générale.
                      • Partager sur Facebook
                      • Partager sur Twitter

                      égalité entre deux objets différents

                      × 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