Test : La programmation objet en C#

Si vous voyez des erreurs vous pouvez nous les indiquer avec le système de discussion en bas de page.


Question 1

Comment signaler l'héritage en C# ?

La classe VTT hérite de la classe Velo

class Velo
{
        private int Poids;
        public Velo(int p)
        {
            Poids = p;
        }
}

class VTT
{
        private int NombreVitesse;
        public VTT(int nb)
        {
            NombreVitesse = nb;
        }
}


Question 2

Comment appeler le constructeur de la classe de base en C#

class Velo
{
        private int Poids;
        public Velo(int p)
        {
            Poids = p;
        }
}

class VTT : Velo
{
        private int NombreVitesse;
        public VTT(int nb)
        {
            NombreVitesse = nb;
        }
}


Question 3

Que va-t-il s'afficher ?

class Velo
{
        private int Poids;
        public Velo(int p)
        {
            Poids = p;
        }
        public void AfficherVelo()
        {
            Console.WriteLine("Poids " + Poids);
        }
}
class VTT : Velo
{
        private int NombreVitesse;
        public VTT(int nb, int p) : base(p)
        {
            NombreVitesse = nb;
        }
}

Création et utilisation des objets

Velo v1 = new Velo(15);
VTT v2 = new VTT(5, 15);

v1.AfficherVelo();
v2.AfficherVelo();


Question 4

Que va-t-il s'afficher à l'écran ?

class Velo
{
        private int Poids;
        public Velo(int p)
        {
            Poids = p;
        }
        protected void AfficherVelo()
        {
            Console.WriteLine("Poids " + Poids);
        }
}
class VTT : Velo
{
        private int NombreVitesse;
        public VTT(int nb, int p) : base(p)
        {
            NombreVitesse = nb;
        }
        public void AfficherVTT()
        {
            AfficherVelo();
            Console.WriteLine("Vitesses " + NombreVitesse);
        }
}

Création et utilisation de l'objet

VTT v1 = new VTT(5, 14);
 v1.AfficherVTT();


Question 5

Que va-t-il s'afficher à l'écran ?

class Velo
{
        private int Poids;
        public Velo(int p)
        {
            Poids = p;
        }
        protected void AfficherVelo()
        {
            Console.WriteLine("Poids " + Poids);
        }
}
class VTT : Velo
{
        private int NombreVitesse;
        public VTT(int nb, int p) : base(p)
        {
            NombreVitesse = nb;
        }
        public void AfficherVTT()
        {
            AfficherVelo();
        }
}

Création de l'objet

Velo v1 = new Velo(14);
v1.AfficherVelo();


Question 6

Quelles sont les lignes correctes après avoir créé les objets?

class Velo
{
        private int Poids;
        public Velo(int p)
        {
            Poids = p;
        }
        public void AfficherVelo()
        {
            Console.WriteLine("Poids " + Poids);
        }
}
class VTT : Velo
{
        private int NombreVitesse;
        public VTT(int nb, int p) : base(p)
        {
            NombreVitesse = nb;
        }
        public void AfficherVTT()
        {
            AfficherVelo();
        }
}

Création de l'objet

Velo v1 = new VTT(5,14);
VTT v2 = new VTT(5, 13);


Question 7

Que va-t-il s'afficher à l'écran ?

class Velo
{
        private int Poids;
        public Velo(int p)
        {
            Poids = p;
        }
        public void Afficher()
        {
            Console.WriteLine("Poids " + Poids);
        }
}
class VTT : Velo
{
        private int NombreVitesse;
        public VTT(int nb, int p) : base(p)
        {
            NombreVitesse = nb;
        }

        public void Afficher()
        {
            Console.WriteLine("Vitesses " +  NombreVitesse);
        }
}

Création de l'objet

Velo v1 = new VTT(5,14);
v1.Afficher();


Question 8

Que va-t-il s'afficher à l'écran ?

class Velo
{
        private int Poids;
        public Velo(int p)
        {
            Poids = p;
        }
        public virtual void Afficher()
        {
            Console.WriteLine("Poids " + Poids);
        }
}
class VTT : Velo
{
        private int NombreVitesse;
        public VTT(int nb, int p) : base(p)
        {
            NombreVitesse = nb;
        }
        public override void Afficher()
        {
            Console.WriteLine("Vitesses " +  NombreVitesse);
        }
}

Création et utilisation de l'objet

Velo v1 = new VTT(5,14);
v1.Afficher();


Question 9

Que va-t-il s'afficher à l'écran ?

class Velo
{
        private int Poids;
        public Velo(int p)
        {
            Poids = p;
        }
      
}

class VTT : Velo
{
        private int NombreVitesse;
        public VTT(int nb, int p) : base(p)
        {
            NombreVitesse = nb;
        }
        public override string ToString()
        {
            return "Vitesses " + NombreVitesse;
        }       
}

Création de l'objet

VTT v1 = new VTT(2, 10);
Console.WriteLine(v1.ToString());

Velo v2 = new VTT(5,14);
Console.WriteLine(v1.ToString());


Question 10

On veut redéfinir la méthode ci-dessous dans les classes dérivées

protected virtual void Afficher()

Quelles sont les syntaxes correctes ?