Prog objet

zealex59 Messages postés 530 Statut Membre -  
zealex59 Messages postés 530 Statut Membre -
Bonjour,

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

9 réponses

kilian Messages postés 8854 Statut Modérateur 1 526
 
http://fr.wikipedia.org/wiki/Singleton_(patron_de_conception)
https://fr.wikipedia.org/wiki/Serialisation
0
zealex59 Messages postés 530 Statut Membre 14
 
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 8854 Statut Modérateur 1 526
 
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 530 Statut Membre 14
 
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 8854 Statut Modérateur 1 526
 
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 530 Statut Membre 14
 
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 8854 Statut Modérateur 1 526
 
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 530 Statut Membre 14
 
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 8854 Statut Modérateur 1 526
 
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 530 Statut Membre 14
 
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 8854 Statut Modérateur 1 526
 
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 530 Statut Membre 14
 
merci bcp! j'atten le lien avec impatience!!!
0
kilian Messages postés 8854 Statut Modérateur 1 526
 
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 1030 Statut Contributeur 329 > kilian Messages postés 8854 Statut Modérateur
 
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 8854 Statut Modérateur 1 526 > Marco la baraque Messages postés 1030 Statut Contributeur
 
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 530 Statut Membre 14
 
woow merci bcp a toi kilian t'as assuré! :):D
0
kilian Messages postés 8854 Statut Modérateur 1 526
 
Et donc c'est plus clair pour toi?
0
zealex59 Messages postés 530 Statut Membre 14
 
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