Prog objet

Bonjour,

Je voudrais qq renseignement sur la serialisation et le singleton (code+explication)je vous remercie
cordialement,
alex
--
"L'union fait la force mais qui fera l'union ?"
Configuration: Windows XP
Firefox 3.0.3

9 réponses

  • Votes
  • Date
  • Date décroissante
  1. merci bien mais si jevoulais des explications comme celle la jirai voir sur les peu de poly que j'ai dessu mais je comprends pas trop la poo sur ces points et jaurai voulu des "tuyau" par des explication brute ^^
    1. Modérateur
      Ta question était trop générale pour que je te donne une réponse précise :-)
      Donc je t'ai filé des liens généraux.

      Maintenant s'il y a des points que tu ne comprends pas dans tout ça, n'hésite pas à demander :-)
  2. okok désolé de mes propos trop flou
    voila je suis en c# on a vu la notion de singleton mais on a u tt un code a recopier alors pour la compréhension bjr!
    Donc voila j'aurais aimer savoir se que l'ou doit retrouver dans une classe singleton et pourquoi se nom aussi? lol
    et si j'vais tu as des idées de pti ( programme en poo donc)
    merci
    1. Modérateur
      Un singleton c'est une classe qui ne peut avoir qu'une seule instance.
      Là où ça se gère, c'est au niveau du constructeur.
      Le singleton est un des rares cas ou le constructeur est privé. Parce que s'il on l'utilise directement on a toujours une nouvelle instance.
      A la place on utilise une méthode statique qui va te renvoyer toujours la même instance.

      Donc:
      _ Une variable statique (privée pour pas qu'on la modifie de l'exterieur) qui contient la référence vers ton instance unique.
      _ Une méthode statique qui te renvoies cette référence.
      L'algo de la méthode statique est simple: si instanceUnique = NULL alors instanceUnique = new Constructeur() puis retourner instanceUnique.

      Pour tes ptis ben ça dépend de toi, de ce qui t'interesse :-)
  3. si tu na pa dinstance il faut en creer une ok
    Mais le constructeur il instancie kel objet??
    desolé c'est encore tres flou pour ma part ...
    1. Modérateur
      L'objet de la classe courante.
      Dit moi ce que tu comprends pas là-dessous (c'est du java mais la syntaxe est proche de C#)
      class Singleton
      {
          static private uniqueInstance = null;
          
          static Singleton getInstance()
          {
              if (uniqueInstance == null) {
                  uniqueInstance = new Singleton();
              }
              return uniqueInstance;
          }
          private Singleton()
          {
          }
      }
  4. Tout d'abord on déclare une classe singleton.

    dans cette classe on definit en static (disponible partout) uniqueInstance qui est nulle(procedure, variable???)

    Apres on déclarer une méthode de la classe singleton, getinstance sans parametre qui est une procédure(accesseur?)
    on dit que si uniqueInstance est nulle on l'instancie avec le constructeur et l'on retourne donc uniqueInstance

    le procedure singleton() est le constructeur

    1. Modérateur
      Je vois, en fait ce que tu ne comprends pas c'est le mot-clé static n'est ce pas?
  5. static private ? oui peut etre en fait! lol
    On nous a dit que static ete lequivalent du module en vbnet c'est a dire une methode disponible partout dans le programme alors static private nan je suis perdu la! ^^
    1. Modérateur
      Tu n'es pas le premier sur ce forum qui a des confusions sur la notion de "static". Effectivement sans ça c'est difficile de comprendre le fonctionnement d'un singleton.
      Je vais écrire une astuce pour expliquer ça, et tu me diras si tu comprends. Sinon je la complèterai jusqu'à ce que tu comprennes :-)
  6. merci bcp! j'atten le lien avec impatience!!!
    1. Modérateur
      En espérant que tu repasses pour le voir:
      http://www.commentcamarche.net/faq/sujet 14564 que signifie static en poo
    2. Contributeur
      @kilianTrès bon tutoriel. J'aurais juste ajouté (dans Ce que ne peuvent pas faire les méthodes statiques) qu'on peut appeler une méthode statique sans instancier la classe, étant donné qu'on n'est pas dans un contexte d'instance.

      Bravo.
    3. Modérateur
      @Marco la baraqueMerci.

      Oui effectivement y'a quelques trucs comme ça que j'ai pas encore détaillés.
      Genre le fait d'affecter une valeur de départ dans la classe ne s'applique qu'une seule fois.
      Le fait que static en C ne signifie pas la même chose.
      Le fait qu'on peut accéder aux méthodes statiques depuis l'instance....

      Bref ça mérite d'être complété :-)
  7. woow merci bcp a toi kilian t'as assuré! :):D
    1. Modérateur
      Et donc c'est plus clair pour toi?
  8. oui bcp! merci !! avec ton tuto et l'aide de mes prof je deviens un as en poo jcrois bien !(h) lol
    merci encore!