Rechercher : dans
Par :

Classe Static VS classe "singletone"

Dernière réponse le 10 nov 2005 à 13:32:38 anawak, le 9 nov 2005 à 14:36:26 
 Signaler ce message aux modérateurs

Bonjour
Cette question me tracasse depuis un certain moment ,alors donnez votre avis:
Quelle est la différence entre une classe Static et une classe "singletone"(en java bien sûr)?

merci à l'avance

Meilleures réponses pour « classe Static VS classe "singletone" » dans :
Le mot-clé static ou les attributs et méthodes de classe en POO Voir(NOTE: Cet article explique la signification du mot-clé static au sein d'une classe. La signification de "static" en C n'a par exemple rien à voir.) Vous êtes débutant en programmation orientée objet. En Java, en C++...ou que sais-je encore,...
Télécharger Media Player Classic HomeCinema VoirMedia Player Classic - Home Cinema est une version modifiée de Media Player Classic. Elle reprend ce qui a fait le succès de l’original et y ajoute quelques nouveautés. Cette version inclut des décodeurs supplémentaires HD pour les codecs H.264 et VC...
UML - Modélisation des classes et objets VoirModélisation d'un objet La modélisation objet consiste à créer une représentation abstraite, sous forme d'objets, d'entités ayant une existence matérielle (arbre, personne, téléphone, ...) ou bien virtuelle (sécurité sociale, compte bancaire,...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
PHP - Les classes VoirLa notion de classe Php3 intègre un soupçon de caractéristiques empruntées aux langages orientés objet, c'est-à-dire la possibilité d'utiliser des objets, entités regroupant des données et des fonctions au sein d'une structure et rendant la...

1

sebsauvage, le 9 nov 2005 à 14:38:12

Si une classe est un singleton, il ne peut exister qu'une seule instance de cette classe.

Avec une classe "normale", on peut faire plusieurs instances de cette classe.


C'est utile pour gérer, par exemple, une connexion à une base de données (on établie une fois pour toute la connexion à la base de données, et tous les utilisateurs de cette classe passent par la même instance de l'objet pour accéder à la base.)

Répondre à sebsauvage

2

crabs, le 9 nov 2005 à 14:54:49

Salut,

J'ai pas fait beaucoup de java, mais dans la conception objet il y a une différence
entre une classe statique et un singleton :
singleton : une seule instance de la classe dans le programme
classe statitque : plusieurs instances manipulant les mêmes paramêtres

Donc dans le concept, un singleton ne peut se dériver qu'en singleton, une classe
statique, elle, peut se dériver en classe 'classique'.
Un singleton peut néanmoins être un paramêtre d'instance dans d'autres classes.

A+, crabs ..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs

3

sebsauvage, le 9 nov 2005 à 14:58:18

Ah pardon, j'ai lu trop vite.

Je comparais classe normale avec singleton, et pas classe statique et singleton.


La classe static n'a pas besoin d'être instanciée pour qu'on puisse appeller ses méthodes et accéder à ses attributs.
Le constructeur n'a pas besion d'être appellé.

Le singleton (comme toute classe non statique) doit obligatoirement être instancié.

Répondre à sebsauvage

4

crabs, le 9 nov 2005 à 15:18:46

Ca a l'air bien ce concept de classe statique en JAVA, pour l'instant je n'ai pu
manipuler que des methodes statiques, ne nécessitant pas d'instanciation en C++.
Remarque en C++, le singleton il faut aussi se le coder en créant un
constructeur privé et méthode statique pour obtenir l'instance :(
Pour mon info, JAVA gère nativement le concept de classe 'virtuelle pure',
'statique' et 'singleton' ? ..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs

5

anawak, le 9 nov 2005 à 15:22:24

Salut
ben en fait je voulais dire classe "singleton" et final classe:
puisse qu'on ne peut pas deriver une "final class" et non plus un singleton ,alors je me demandais comment faire la difference.

je sens que tu es bien bien dans le truc.Alors
est ce qu'un singleton a quelques specificités dans sa declration pour qu'on puisse se rendre compte qu'il est singleton à 1ère vue?

Envoie un petit exempled'une classe dans ma boite ;pour je puisse remarquer ces spécificités§§§§(en fin si tu es d'accord !!!!!!!);

e-mail:anawak2002@yahoo.fr

Répondre à anawak

6

sebsauvage, le 9 nov 2005 à 15:29:37

est ce qu'un singleton a quelques specificités dans sa declration pour qu'on puisse se rendre compte qu'il est singleton à 1ère vue?

En Java, je ne sais plus, mais de mémoire le singleton devait être implémenté (créé par le développeur). Ce n'était pas un simple mot-clé.

Maintenant ça fait un moment que je ne fais plus de Java...

Répondre à sebsauvage

7

sebsauvage, le 9 nov 2005 à 15:34:14

Si ça peut éclaircir les choses:

final class
interdit la création de classe dérivée

alors que "singleton" interdit la création de plus d'une instance de la classe.

Répondre à sebsauvage

8

 HackTrack, le 10 nov 2005 à 13:32:38

Un exemple de singleton final:

/*
 * Created on 10-nov.-2005
 * Author: HackTrack
 */

public final class SingletonDemo {
	private static SingletonDemo instance;

	private SingletonDemo() {
		super();
	}
	
	public static SingletonDemo getInstance(){
		if(instance==null)
			instance=new SingletonDemo();
		return instance;
	}
}


;-)
HackTrack

Répondre à HackTrack
Collection CommentÇaMarche.net