示例#1
0
        //public override bool Equals(object obj)
        //{
        //    Femme femme = obj as Femme;
        //    if (femme == null)
        //        return false;
        //    else
        //        return Nom == femme.Nom && Taille == femme.Taille && Age == femme.Age;
        //}

        // les interfaces de comparaison
        public int CompareTo(object obj)
        {
            Femme fem = (Femme)obj;

            return(Age.CompareTo(fem.Age));
        }
示例#2
0
        static void Main(string[] args)
        {
            int    a      = 10;
            string chaine = a.ToString();

            Console.WriteLine(chaine);
            string dix       = chaine;
            string lettres   = "abc";
            string chaineMaj = lettres.ToUpper();

            Console.WriteLine(chaineMaj);


            //Animal animal1 = new Animal("MonAnimalPrincipale");

            //-------mise en commentaire car l'objet Animal ne peux plus etre instanceié a cause de son statut devenu abstract.
            //animal1.NombrePattes = 4;
            //Console.WriteLine(animal1.NombrePattes);
            //Chien chien1 = new Chien("labral");
            //chien1.Aboyer();
            //chien1.Respirer();

            List <Animal> maListeAnimaux = new List <Animal>();
            Chien         chien2         = new Chien("Monchien2");

            maListeAnimaux.Add(chien2);
            Chat chat1 = new Chat("Monchat1");

            maListeAnimaux.Add(chat1);
            Animal dingo   = new Chien("Dingo");
            Animal indefix = new Chien("Indefix");
            Animal tom     = new Chat("tOM");
            Animal felix   = new Chat("Felix");

            maListeAnimaux.Add(dingo);
            maListeAnimaux.Add(indefix);
            maListeAnimaux.Add(tom);
            maListeAnimaux.Add(felix);

            foreach (Animal animauxList in maListeAnimaux)
            {
                animauxList.Respirer();
            }

            //ObjetVide objetVide = new ObjetVide();
            //Console.WriteLine(objetVide);

            Chien ch = new Chien("chiiiieeeeeeee");

            ch.Respirer();
            ch.color = "red";


            ChienMuet chienm1 = new ChienMuet("klk");

            chienm1.Aboyer();
            chienm1.Respirer();

            chien2.Manger();
            Maths mathe0 = new Maths(" chaine de connexion ajustée ");
            Maths mathe  = new Maths();
            Maths mathe1 = new Maths();
            Maths mathe2 = new Maths();
            Maths mathe3 = new Maths();

            Console.WriteLine("instance count : " + Maths.count);
            mathe.Addition();



            //Polymorphysme : c'est le fait qu'une methode puisse etre ecrite plusieurs fois avec un nombre de paramettre different et
            // et la mm methode soit de plusieurs types. pour mieux comprendre, consulter la classe Maths et la methode Addition().
            Maths mat = new Maths();

            mat.Addition(12.1, 12.1);

            Chien c1 = new Chien("c1");

            Chien.ConnectChien = c1;

            Chien c2 = new Chien("c2");

            //a effacer
            Console.WriteLine("chaine de connexion  pour chien 1 : " + c1.addChien());

            Console.WriteLine("chaine de connexion  pour chien 2 : " + c2.addChien());

            //Double reel = 1.2;
            //double ent = (int)reel;
            //Console.WriteLine(ent);

            Chien  ch1  = new Chien("ch1");
            Animal ani1 = (Animal)ch1;
            Chat   cha1 = new Chat("cha1");

// cast des types
            List <Animal> animalliste = new List <Animal>();

            animalliste.Add(ch1);
            animalliste.Add(cha1);
            //a effacer
            Console.WriteLine("notre chien connecte est : " + cha1.Nomduchien());

            foreach (Animal an in animalliste)
            {
                // l'objectif ici est qu'un animal de la liste puisse connaitre s'il est un chien ou un chat avant de pouvoir
                // choisir quelle methode implementer car un chien ne peux pas miauler et un chat ne peux pas aboyer. vue qu'ils sont
                //tous les animaux et apartiennent a la liste des animaux, il devient imperatif de cater le type.
                if (an is Chien)
                {
                    Chien chi = (Chien)an;
                    chi.Aboyer();
                }
                if (an is Chat)
                {
                    Chat chatt = (Chat)an;
                    chatt.Miauler();
                }
            }
            // Le caste dynamique se fait en utilisant le mot clé  AS pour ce fait le code de dessus pourra s'ecrire:

            foreach (Animal anim in animalliste)
            {
                Chien chi1 = anim as Chien;
                if (chi1 != null)
                {
                    chi1.Aboyer();
                }

                Chat chaa1 = anim as Chat;
                if (chaa1 != null)
                {
                    chaa1.Miauler();
                }
            }

            // Comparaison des object. redefinition de la methode Equals
            Voiture voitureArno = new Voiture()
            {
                Couleur = "red",
                Marque  = "Ferarri",
                Vitesse = 350
            };

            Femme femme1 = new Femme
            {
                Nom    = "F1",
                Taille = 1.76,
                Age    = 20
            };
            Femme femme2 = new Femme
            {
                Nom    = "F1",
                Taille = 1.70,
                Age    = 19,
            };

            if (femme1.Equals(femme2))
            {
                Console.WriteLine("Vous etes un poligame");
            }
            else
            {
                Console.WriteLine("Vous etes monogamme merci de ne pas faire souffrir les fille des gens.");
            }


            Voiture voitureJospin = new Voiture()
            {
                Couleur = "red",
                Marque  = "Ferarri",
                Vitesse = 350
            };

            if (voitureArno.Equals(voitureJospin))
            {
                Console.WriteLine("ces deux objet son equivalant");
            }
            else
            {
                Console.WriteLine("Les deux objects sont diferents");
            }

            Chien chienAr = new Chien("Boboul")
            {
                age          = 2,
                NombrePattes = 4
            };

            Chien chienOt = new Chien("Boul")
            {
                age          = 3,
                NombrePattes = 2
            };

            if (chienAr.Equals(chienOt))
            {
                Console.WriteLine("Les deux chiens sont identiques");
            }
            else
            {
                Console.WriteLine("les deux chiens sont diferents");
            }

            //Heures heure1 = new Heures()
            //{
            //    Hr=12,
            //    Min=00,
            //    Second=00
            //};

            //Heures heure2 = new Heures()
            //{
            //    Hr = 01,
            //    Min = 00,
            //    Second = 00
            //};

            //if (heure1.Equals(heure2))
            //{
            //    Console.WriteLine("heure 1 et heure 2  sont  les memes");
            //}
            //Console.WriteLine("ses heures ne sont les memes");

            //if (DateTime.Now.Hour <= 12)
            //{
            //    Console.WriteLine("happy birday");
            //}

            // if(DateTime.Now.DayOfWeek)



            // Les interfaces

            Femme[] femm = new Femme[]
            {
                new Femme {
                    Age = 20
                }, new Femme {
                    Age = 29
                }, new Femme {
                    Age = 17
                }, new Femme {
                    Age = 19
                }, new Femme {
                    Age = 21
                }
            };
            Array.Sort(femm);

            foreach (Femme fe in femm)
            {
                Console.WriteLine(fe.Age);
            }


            Stadium[] std = new Stadium[]
            {
                new Stadium {
                    Nbre = 250000
                }, new Stadium {
                    Nbre = 300000
                }, new Stadium {
                    Nbre = 20000
                }, new Stadium {
                    Nbre = 750000
                }, new Stadium {
                    Nbre = 30000
                }, new Stadium {
                    Nbre = 60000
                }
            };
            Array.Sort(std);
            foreach (Stadium stdm in std)
            {
                Console.WriteLine(stdm.Nbre);
            }

            // creation de nos propres interfaces.

            Oiseau oiseau = new Oiseau()
            {
                NombrePropulseures = 2
            };
            Avion avion = new Avion()
            {
                NombrePropulseures = 4
            };

            List <IVolant> ivolant = new List <IVolant> {
                avion, oiseau
            };

            foreach (IVolant ivol in ivolant)
            {
                //Console.WriteLine(ivol.NombrePropulseures);
                ivol.Voler();
            }

            Moto moto1 = new Moto {
                NombreMoteur = 1, couleurMoto = "Noire", marque = "bmw"
            };
            Tram tram1 = new Tram {
                NombreMoteur = 6, NomPilote = "Arno"
            };
            List <IRouler> EngentRoulant = new List <IRouler> {
                moto1, tram1
            };

            foreach (IRouler roul in EngentRoulant)
            {
                roul.Rouler();
                Tram tr = roul as Tram;
                if (tr != null)
                {
                    Console.WriteLine(tr.NomPilote);
                }

                Moto mot = roul as Moto;
                if (mot != null)
                {
                    Console.WriteLine(mot.marque + " " + mot.couleurMoto);
                }
                //Console.WriteLine(roul.NombreMoteur);
            }

            // Types anonymes.
            var MaPersonne = new { age = 95, nom = "Arno", profession = "Informaticien" };

            Console.WriteLine(MaPersonne.GetType());
            Console.WriteLine(MaPersonne.age);
            int ProlongeAge()
            {
                return(MaPersonne.age + 3);
            }

            Console.WriteLine("jai " + ProlongeAge());

            //Console.ReadLine();
        }