예제 #1
0
        static void Main(string[] args)
        {
            #region Equals
            O2 UnObjetO2 = new O2(3);
            O1 UnObjetO1 = new O1(10, UnObjetO2);

            O2 AutreObjetO2  = new O2(3);
            O1 EncoreObjetO1 = new O1(10, AutreObjetO2);

            O1 AutreObjetO1 = UnObjetO1;

            //TestsEquals de la méthode Equals

            /*Console.WriteLine("Test de == ---------------------------------------");
             * //A conserver pour le test des référents
             *
             * Console.WriteLine("== - Tests de 2 objets qui occupent la même zone mémoire");
             * Console.WriteLine(AutreObjetO1 == UnObjetO1);
             *
             * Console.WriteLine("== - Tests de 2 objets qui occupent des zones mémoire différentes mais ont les mêmes données");
             * Console.WriteLine(AutreObjetO1 == EncoreObjetO1);
             *
             * Console.WriteLine("Test de Equals ---------------------------------------");
             *
             * Console.WriteLine("Equals - Tests de 2 objets qui occupent la même zone mémoire");
             * Console.WriteLine(AutreObjetO1.Equals(UnObjetO1));
             *
             * Console.WriteLine("Equals - Tests de 2 objets qui occupent des zones mémoire différentes mais ont les mêmes données");
             * Console.WriteLine(AutreObjetO1.Equals(EncoreObjetO1));
             *
             * O2 EncoreObjetO2 = new O2(7);
             * O1 LastObjetO1 = new O1(10, EncoreObjetO2);
             *
             * Console.WriteLine("Equals - Tests de 2 objets différents");
             * Console.WriteLine(LastObjetO1.Equals(EncoreObjetO1));*/

            #endregion

            #region clonage
            O2 unQuatriemeO2 = null;
            unQuatriemeO2 = (O2)AutreObjetO2.Clone();
            Console.WriteLine("Clonage O2");
            Console.WriteLine(AutreObjetO2.getAttribut() + " =? " + unQuatriemeO2.getAttribut());

            O1 unTroisiemeO1 = null;
            unTroisiemeO1 = (O1)AutreObjetO1.Clone();
            Console.WriteLine("Clonage O1");
            if (AutreObjetO1.Equals(unTroisiemeO1))
            {
                Console.WriteLine("unTroisiemeO1 et AutreObjetO1 ont le même état");
            }
            else
            {
                Console.WriteLine("unTroisiemeO1 et AutreObjetO1 pas le même état");
            }
            #endregion
            Console.ReadLine();
        }
예제 #2
0
        static void Main(string[] args)
        {
            O2 UnObjetO2 = new O2(3);
            O1 UnObjetO1 = new O1(10, UnObjetO2);

            O2 AutreObjetO2  = new O2(3);
            O1 EncoreObjetO1 = new O1(10, AutreObjetO2);

            O1 AutreObjetO1 = UnObjetO1;

            Console.WriteLine("Test de == ---------------------------------------");
            //A conserver pour le test des référents

            Console.WriteLine("== - Tests de 2 objets qui occupent la même zone mémoire");
            Console.WriteLine(AutreObjetO1 == UnObjetO1);

            Console.WriteLine("== - Tests de 2 objets qui occupent des zones mémoire différentes mais ont " +
                              "les mêmes données");
            Console.WriteLine(AutreObjetO1 == EncoreObjetO1);

            Console.WriteLine("Test de Equal pour O2 ---------------------------------------");

            O2 Monique = new O2(7);

            Console.WriteLine("Tests de 2 objets qui sont les memes mais avec des zones memoires distinctes");
            Console.WriteLine(UnObjetO2.Equals(AutreObjetO2));
            Console.WriteLine("Tests de 2 objets qui sont différents");
            Console.WriteLine(UnObjetO2.Equals(Monique));

            Console.WriteLine("Test de Equal pour O1 ---------------------------------------");

            Console.WriteLine("Equals - Tests de 2 objets qui occupent la même zone mémoire");
            Console.WriteLine(AutreObjetO1.Equals(UnObjetO1));

            Console.WriteLine("Equals - Tests de 2 objets qui occupent des zones mémoire différentes mais ont " +
                              "les mêmes données");
            Console.WriteLine(AutreObjetO1.Equals(EncoreObjetO1));

            Console.WriteLine("Equals - Tests de 2 objets qui ont des attributs différents ");
            O1 Simone = new O1(10, Monique);

            Console.WriteLine(AutreObjetO1.Equals(Simone));


            /*O2 EncoreObjetO2 = new O2(7);
             * O1 LastObjetO1 = new O1(10, EncoreObjetO2);
             *
             * Console.WriteLine("Equals - Tests de 2 objets différents");
             * Console.WriteLine(LastObjetO1.Equals(EncoreObjetO1));*/

            Console.ReadLine();
        }
예제 #3
0
 public override bool Equals(Object unObjet)
 { /* redéfinition de la méthode Equals */
     if (this == unObjet)
     {
         return(true);
     }
     else
     {
         O2 unAutreO2 = unObjet as O2;
         if (unObjet != null)
         {
             if (unAttributO2 == unAutreO2.unAttributO2)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
     }
     return(false);
 }
예제 #4
0
 public override bool Equals(Object unObjet)
 { /* redéfinition de la méthode Equals */
     if (this == unObjet)
     {
         return(true);
     }
     else
     {
         //Les deux lignes qui suivent permettent de tester si unObjet est instance de O2
         O2 unAutreO2 = unObjet as O2;
         if (unObjet != null)
         {
             if (this.unAttributO2 == unAutreO2.unAttributO2)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
     }
     return(false);
 }
예제 #5
0
 public O1(int unAttributO1, O2 lienO2)
 {
     this.unAttributO1 = unAttributO1;
     this.lienO2       = lienO2;
 }