Ejemplo n.º 1
0
        static void Test_Hologe()
        {
            Horloge h1 = new Horloge(12);

            h1.Afficher(); // 12:00:00

            // Définit une horloge à 12h34
            Horloge h2 = new Horloge(12, 34);

            h2.Afficher(); // 12:34:00

            // Définit une horloge à 12h34 et 56 secondes
            Horloge h3 = new Horloge(12, 34, 56);

            h3.Afficher(); // 12:34:56

            Console.WriteLine("Heures de h3 : " + h3.Heures);
            Console.WriteLine("Minute de h3 : " + h3.Minutes);
            Console.WriteLine("Secondes de h3 : " + h3.Secondes);

            // Ne dois pas compiler

            /*
             * h3.Heures = 1;
             * h3.Minute = 1;
             * h3.Secondes = 1;*/

            // L'horloge doit valider les paramètres: Heures entre 0-23, Minutes & Secondes entre 0-59
            // Les valeurs invalide sont silencieusement ignorées
            Horloge h5 = new Horloge(12, 34, 0);

            if (h2.EstEgaleA(h5))
            {
                Console.WriteLine("h2 est égale à h5"); // Attendu
            }
            else
            {
                Console.WriteLine("h2 n'est pas égale à h5");
            }

            if (h2.EstEgaleA(h3))
            {
                Console.WriteLine("h2 est égale à h3");
            }
            else
            {
                Console.WriteLine("h2 n'est pas égale à h3"); // Attendu
            }

            // Contrainte
            // Horloge ne doit avoir que des secondes, 60 secondes dans une minute et 3600 secondes dans une heure
        }
Ejemplo n.º 2
0
        public bool EstEgaleA(Horloge hX)
        {
            // Le niveau de protection est au niveau de la classe, et pas the l'object.
            // Il est donc possible d'accéder aux attributs privés d'un autre object de la même classe
            if (_secondes == hX._secondes)
            {
                return(true);
            }
            else
            {
                return(false);
            }

            //this est un mot clé désignat une variable qui represente l'object courant
        }