Bonjour,
J'ai beaucoup de mal avec la POO, en faite pour être plus précis je n'arrive pas a m'imaginer certaines chose très simple.
Voila un exemple pour être clair :
Une Ferrari est quelque part et Toto là voit, à ce moment il s'exclame : "Mais c'est une Ferrari!"
(Les deux objet se trouvent dans la Main() pour faire simple)
Maintenant Toto doit voir la Ferrari devant ses yeux :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Humain Toto = new Humain(); Voiture Ferrari = new Voiture("Ferrari");
Puis il s'exclame :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Toto.Observer(Ferrari);
Maintenant le scénario est les objets mis en place, voyons les classes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Toto.Exclamer();
Le nom est publique car une voiture ne parle pas et Toto a quand même apprit a lire à l'école.
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 class Voiture { public string Nom; //le nom de la futur Ferrari :) private void setNom(string texte) //pour lui donner son nom...:P { Nom = texte; } public Voiture(string texte) { setNom(texte); } }
Voila on a tout ce qu'il faut :
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 class Humain { private string memoire; //Toto le plus intelligent des Lemmings :) private void setMemoire(string texte) { memoire = texte; } private string getMemoire() { return memoire; } public void Observer(Voiture objet) { setMemoire(objet.Nom); } public void Exclamer() { Console.WriteLine("Mais c'est une "+getMemoire()+"!"); } }
Vous allez me dire : "Mais il marche très bien ce code!"
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
49
50
51
52
53
54
55
56
57
58
59
60
61 using System; namespace Application { class Programme { static void Main() { Humain Toto = new Humain(); Voiture Ferrari = new Voiture("Ferrari"); Toto.Observer(Ferrari); Toto.Exclamer(); Console.ReadKey(); } } class Voiture { public string Nom; private void setNom(string texte) { Nom = texte; } public Voiture(string texte) { setNom(texte); } } class Humain { private string memoire; private void setMemoire(string texte) { memoire = texte; } private string getMemoire() { return memoire; } public void Observer(Voiture objet) { setMemoire(objet.Nom); } public void Exclamer() { Console.WriteLine("Mais c'est une " + getMemoire() + "!"); } } }
Oui il marche mais je ne le trouve pas logique et c'est là que j'ai besoin de votre aide :
- Toto ne peut pas observer la voiture tout seul, c'est moi qui ai misUn objet est sensé être indépendant, comment faire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Toto.Observer(Ferrari);
- La console, ici, joue le rôle d'un pot pourris.... est ce correct de l'employer de cette manière? C'est à dire
Voila j'espère que mon problème est plus clair que le début du post![]()
Merci d'avoir tout lu, j' attend vos réponses![]()
Partager