Prog objet

Fermé
zealex59 Messages postés 504 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 5 février 2010 - 11 nov. 2008 à 17:45
zealex59 Messages postés 504 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 5 février 2010 - 21 nov. 2008 à 20:12
Bonjour,

Je voudrais qq renseignement sur la serialisation et le singleton (code+explication)je vous remercie
cordialement,
alex

9 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
11 nov. 2008 à 18:00
http://fr.wikipedia.org/wiki/Singleton_(patron_de_conception)
https://fr.wikipedia.org/wiki/Serialisation
0
zealex59 Messages postés 504 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 5 février 2010 14
11 nov. 2008 à 18:05
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 ^^
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
11 nov. 2008 à 18:09
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 :-)
0
zealex59 Messages postés 504 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 5 février 2010 14
11 nov. 2008 à 18:11
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
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
11 nov. 2008 à 18:39
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 :-)
0
zealex59 Messages postés 504 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 5 février 2010 14
11 nov. 2008 à 18:46
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 ...
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
11 nov. 2008 à 18:54
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()
    {
    }
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zealex59 Messages postés 504 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 5 février 2010 14
11 nov. 2008 à 19:00
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

0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
11 nov. 2008 à 19:05
Je vois, en fait ce que tu ne comprends pas c'est le mot-clé static n'est ce pas?
0
zealex59 Messages postés 504 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 5 février 2010 14
11 nov. 2008 à 19:07
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! ^^
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
12 nov. 2008 à 12:16
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 :-)
0
zealex59 Messages postés 504 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 5 février 2010 14
12 nov. 2008 à 20:44
merci bcp! j'atten le lien avec impatience!!!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
17 nov. 2008 à 23:43
En espérant que tu repasses pour le voir:
http://www.commentcamarche.net/faq/sujet 14564 que signifie static en poo
0
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 328 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
18 nov. 2008 à 00:25
Trè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.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009
18 nov. 2008 à 00:30
Merci.

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é :-)
0
zealex59 Messages postés 504 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 5 février 2010 14
18 nov. 2008 à 21:37
woow merci bcp a toi kilian t'as assuré! :):D
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
19 nov. 2008 à 07:40
Et donc c'est plus clair pour toi?
0
zealex59 Messages postés 504 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 5 février 2010 14
21 nov. 2008 à 20:12
oui bcp! merci !! avec ton tuto et l'aide de mes prof je deviens un as en poo jcrois bien !(h) lol
merci encore!
0