Problème de compréhension.
	
	
		Bonjour,
J'ai beaucoup de mal avec la POO :aie:, 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)
	Code:
	
1 2 3
   |  
Humain Toto = new Humain();
Voiture Ferrari = new Voiture("Ferrari"); | 
 Maintenant Toto doit voir la Ferrari devant ses yeux :
	Code:
	
1 2
   |  
Toto.Observer(Ferrari);  | 
 Puis il s'exclame : 
Maintenant le scénario est les objets mis en place, voyons les classes :
	Code:
	
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);
  }
} | 
 Le nom est publique car une voiture ne parle pas et Toto a quand même apprit a lire à l'école. :lol:
	Code:
	
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()+"!");
  }
} | 
 Voila on a tout ce qu'il faut :
	Code:
	
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() + "!");
        }
    }
 
} | 
 Vous allez me dire : "Mais il marche très bien ce code!"
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 mis 
	Code:
	
Toto.Observer(Ferrari);
 Un objet est sensé être indépendant, comment faire?
- 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 :roll: :lol:
Merci d'avoir tout lu, j' attend vos réponses :D