Esempio n. 1
0
        public O1 Clone()
        { //définition du clonage
            O1 unNouveauO1 = (O1)this.MemberwiseClone();

            unNouveauO1.lienO2 = lienO2.Clone();
            return(unNouveauO1);
        }
Esempio n. 2
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();
        }