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

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

class A
{
    public void Afficher()
    {
        Console.WriteLine("A");
    }
}
class B : A
{
    public new void Afficher()
    {
        Console.WriteLine("B");
    }
}
class C : B
{
    public new void Afficher()
    {
        Console.WriteLine("C");
    }
}

Création et utilisation des objets

A a = new A();
B b = new C();
a.Afficher();
b.Afficher();


Question 2

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

class A
{
    public virtual void Afficher()
    {
        Console.WriteLine("A");
    }
}
class B : A
{
    public override void Afficher()
    {
        Console.WriteLine("B");
    }
}
class C : B
{
    public override void Afficher()
    {
        Console.WriteLine("C");
    }
    public void AfficherX()
    {
        Console.WriteLine("X");
    }
}

Création et utilisation de l'objet

B b = new C();
b.Afficher();
b.AfficherX();


Question 3

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

class A
{
    public virtual void Afficher()
    {
        Console.WriteLine("A");
    }
}
class B : A
{
   
}
class C : B
{
    public override void Afficher()
    {
            base.Afficher();
            Console.WriteLine("C");
    }    
}

Création et utilisation de l'objet

A a = new C();
a.Afficher();


Question 4

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

class A
{
    public virtual void Afficher()
    {
        Console.WriteLine("A");
    }
}
class B : A
{
        public override void Afficher()
        {
            Console.WriteLine("B");
        }
    }
class C 
{
    public static void Afficher(A a)
    {
            a.Afficher();
    }    
}

Création et utilisation des objets

A a = new A();
B b = new B();
C.Afficher(a);
C.Afficher(b);


Question 5

Que va-t-il se passer avec les lignes suivantes ?

class A
{ 
}
class B : A
{
        public override string ToString()
        {
            return "B";
        }
    }
class C 
{
    public static void Afficher(Object o)
    {
            Console.WriteLine(o.ToString());
    }    
}

Création et utilisation des objets

A a = new A();
B b = new B();
C.Afficher(a);
C.Afficher(b);


Question 6

Quelles sont les affirmations exactes ?


Question 7

Que va-t-il s'afficher ?

abstract class A
{
        public abstract void Afficher();
}
class B : A
{
    public override void Afficher()
    {
        Console.WriteLine("B");
    }
}

Création et utilisation des objets

A a = new B();
B b = new B();
a.Afficher();
b.Afficher();


Question 8

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

abstract class A
{
        public abstract void Afficher();
}
class B : A
{
    public override void Afficher()
    {
        Console.WriteLine("B");
    }
}
class C 
{
    public static void Afficher(A a)
    {
            a.Afficher();
    }    
}

Création et utilisation de l'objet

B b = new B();
b.Afficher();


Question 9

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

abstract class A
{
        public abstract void Afficher();
}
abstract class B : A
{
}
class C : B
{
    public override void Afficher()
    {
        Console.WriteLine("C");
    }
}

Création et utilisation de l'objet

C c = new C();
B b = c;
b.Afficher();


Question 10

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

abstract class A
{
        public abstract void Afficher();
        public static A GetA()
        {
            return new C();
        }
}
class B : A
{
    public override void Afficher()
    {
        Console.WriteLine("B");
    }
}
class C : B
{
    public override void Afficher()
    {
        Console.WriteLine("C");
    }
}

Création et utilisation de l'objet

A a = A.GetA();
a.Afficher();