Bonjour,
soit le code suivant
Soit l'instruction suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 List<Animal> animaux = new List<Animal>(); Animal chien_1 = new Chien(); Animal chat_1 = new Chat(); Animal animal_1 = new Animal(); Chien chien_2 = new Chien();
si je teste ce qu'est c3, j'obtiens bien l'affichage "le c3 est bien un Animal" et "le c3 est bien un Chien".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3Object c3 = chien_1 as Chien;
Je comprends bien car la classe Chien dérive de la classe Animal et donc tout Chien est un Animal.
Mais du fait que c3 pointe uniquement vers les méthodes de la classe Object, cela est en contradiction avec le fait qu'il est un Animal et un Chien!
L'affichage ci-dessus est donc un peu trompeur car c3 est , selon moi un simple Object.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (c3 is Animal) { Console.WriteLine("le c3 est bien un Animal"); } if (c3 is Chien) { Console.WriteLine("le c3 est bien un Chien"); }
Merci de me dire ce que vous en pensez![]()
Bien cordialement.
new_wave
Partager