Bonjour,
je viens ici pour demander de l'aide à propos de la surcharge de constructeur.
Je suis sur un site qui me semble un bon cours pour ma compréhension du C# POO. Je me suis donc inspiré d'un exemple existant pour illustrer quelque chose que je n'arrive pas à comprendre. Dans l'exemple ci-dessous j'instancie l'objet Chien de 2 façons Chien chien1 = new Chien() et Chien chien2 = new Chien("chien1"). Dans le premier j'obtiens les résultats que je souhaite donc car pour moi un chien1 est construit d'abord en tant qu'Animal sans argument puis en tant que Chien sans argument. PAr contre je ne comprends pas pourquoi pour l'objet chien2 j'ai le résultat un animal vient d'être créé sans argument et un nouveau chien vient d'être créé avec la variable chien2. Je m'attendais à voir d'abord : Un animal chien2 vient d'être créé !!! puis un nouveau chien vient d'être créé avec la variable chien2.
J'espère avoir été clair dans la façon d'expliquer mon problème. Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Chien chien1 = new Chien(); Chien chien2 = new Chien("chien2"); } } class Animal { public string v1; /** * constructeur de notre classe animal */ public Animal() { Console.Out.WriteLine("Un animal vient d'être créé sans argument"); } public Animal(string nomVariable) { Console.Out.WriteLine("Un animal" + nomVariable + " vient d'être créé !!!"); this.v1 = nomVariable; } } class Chien : Animal { public Chien() { Console.Out.WriteLine("un nouveau chien sans argument vient d'être créé"); } public Chien(string nomVariable) { Console.Out.WriteLine("un nouveau chien vient d'être créé avec la variable " + nomVariable); } } }
Partager