Newsgroup: it.comp.java
Titolo: Domanda assurda?

Salve a tutti,
scusate l'eventuale assurdità della domanda, ma esiste in Java (o anche in
qualsiasi altro linguaggio OO di vostra conoscenza) un modo per conoscere da
un oggetto di una determinata classe quanti oggetti di tale classe sono
istanziati?
Grazie per ogni aiuto,
Saluti,
Sergio B.

 istanziati?
Non mi pare...però non è da escludere.
Comuqneu un modo comodo per saperlo
è introdurre, nella classe di cui vuoi conoscere
il numero di istanze, una variabile contatore
statica, la quale si incrementa ogni volta che viene
creata una classe.
Quindi la fai incrementare nel metodo "costruttore"
della classe.
Esempio:
Class QuanteSiamo{
    private static void conta=0;
    QuanteSiamo() {
         conta++;
    }
    int dimmiunpoQuantiSiamo(){
        return conta;
    }
 }
*****************
la variabile conta terrà il "conto"
del numero di istanze
ese:
QuantiSiamo una = new QuantiSiamo();
QuantiSiamo due = new QuantiSiamo();
  System.out.println(una.dimmiunpoQuantiSiamo() );  // stampa due
  QuantiSiamo tre = new QuantiSiamo();
   System.out.println(una.dimmiunpoQuantiSiamo() );  // stampa tre
***************
                  IL SANTO
p.s.
Ciao!


 > Saluti,
...ehm ho corretto
:)

Ciao,
e prima di tutto grazie per la celerità nella risposta!
La tua idea è buona (e a dire il vero già conoscevo tale metodo), ma io
volevo sapere se esiste un metodo proprio di Java, non un "trucco"!
Ti spiego perchè:
tralasciando i dettagli, ed andando molto sul generico, ho un'applicazione
client-server dove al server si agganciano diverse connessioni client
(ognuna con un proprio nome); perchè ogni client conosca il nome degli altri
client, il server tiene traccia di tutti i nomi in una sua struttura e ad
ogni connessione comunica tale lista di nomi al client. Adesso, c'è una
certa persona molto qualificata la quale sostiene che non c'è bisogno che il
server comunichi tale lista poichè ogni oggetto client conosce tutti gli
altri grazie al fatto di essere tutti istanza della stessa classe...dice che
questa è una caretteristica dell'Object Oriented in generale!!!
Lasciando perdere il fatto che questa è una GRANDISSIMA STRONZATA (scusa ma
sono veramente arrabbiato) in quanto essendo i client dislocati chissà dove
nella rete dimmi tu come possono l'un l'altro conoscersi senza ricorrere e
trucchi o tecniche particolari (stiamo infatti parlando di puro OO), volevo
sapere se questa cosa era comunque possibile a livello "locale".
Ma penso proprio di no.
Incredibile, la gente con la quale si ha a che fare.
Ancora grazie,
Un saluto,
Sergio B.

Domanda assurda,
risposta assurda.
Saluti

 Saluti!
             IL SANTO
p.s
continua con le seghe, mi raccomando.
;)

 [CUT]
Dai, abbiamo tutti quanti caldo. Una bella doccia fredda e passa
tutto.


 e tu sei un imbecille

 ha scritto nel messaggio
news:IkKDa.78601$g92.1...@news2.tin.it...


 di tale classe sono istanziati?
Non in java.
-- 
Fighting for peace is like fucking for virginity
ObjectZone - 
http://space.tin.it/computer/csadun

 ha scritto nel messaggio
news:bbphne$bhjv0$1...@ID-169109.news.dfncis.de...

Perchč sei arrabbiato?
            IL SANTO
[ ] scopi poco
[ ] non scopi proprio
[ ] vorrei ma non posso

continua con le seghe, mi raccomando.
Stiamo balenando nell OT!
Io vi consiglierei di passare a free.it.amore.virtuale. :-(

"IL SANTO" <u...@due.provaCambiomail> ha scritto nel messaggio
news:bbpnan$a07$1...@lacerta.tiscalinet.it...

Grazie per la conferma.

 Grazie per la conferma.
ahahah!
e tu fai affermazioni categoriche che poi
necessitano di conferme?
                  IL SANTO
p.s.
Non č colpa mia ;)

 Non č colpa mia ;)
potreste gentilmente darci un taglio, oppure continuare in privato
--
Andrea
http://jame.sf.net


Non ho mai detto fosse una domanda stupida...semplicemente possibilmente
assurda!
Comunque grazie...e se avessi anche un qualche link in cui si parla di
SmallTalk (che non conosco purtroppo assolutamente) e di questa sua
caratteristica mi faresti molto felice :-)
Saluti,
Sergio B.


Grazie anche a te!

Prova qui:
http://www.cincom.com/scripts/smalltalk.dll//education/index.ssp?content=tut
orials
dalla home page si può anche raggiungere il link per
scaricare l'ambiente di sviluppo.

 caratteristica mi faresti molto felice :-)
Un'appunto si scrive Smalltalk, non SmallTalk. (Se 
scrivessero JaVa, non vi darebbe sui nervi? ;)
La "caratteristica" di cui si parla non è nulla di 
particolare, solo un metodo di Behavior (la classe da 
cui deriva Class).
In pratica, data una qualunque classe si possono 
ottenere tutte le istanze così:
NomeClasse allInstances
I metodi a disposizione per operare sul programma stesso 
(Reflection) sono molto più estesi di quelli presenti in 
Java.
E' un po' come se Smalltalk avesse a disposizione un 
database contenente tutto il codice dell'applicazione 
(comprese le varie versioni dei metodi, come in CVS) 
dove si potesse fare ricerche.
-- 
Roberto Lupi