Newsgroup: it.comp.java
Titolo: concetto di istanza

E' una cosa che non mi è mai stata chiara,
cosa si intende quando si dice istanza?
--
--
Ciao
                                        Roche
               - The Mannix -
Sei stufo di ascoltare la solita minestra?
Clicca quì sotto:
 
http://stage.vitaminic.it/the_mannix/

Se ho una classe miaClasse e scrivo
miaClasse a=new miaClasse();
miaClasse b=new miaClasse();
a e b sono istanze della classe miaClasse

Se intendi un ogetto ,vuol dire creare un sub Classe della classe madre a 
cui verrà ,istanziato(ovvero allegato)l'ogetto in questione::ciao ciao!!
-- 
Posted from 
ro...@corelli.nexus.it
 [193.76.244.11] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Il concetto č estensibile anche per le variabili etc etc.
oppure vale solo per le classi?
Cmq grazie, 2 righe di esempio
valgono piů di mille righe di parole!!
--
--
Ciao
                                        Roche
               - The Mannix -
Sei stufo di ascoltare la solita minestra punk?
Clicca quě sotto:
 
http://stage.vitaminic.it/the_mannix/

oppure vale solo per le classi?
In generale, l'istanza e' una variabile di un certo tipo.
Le classi sono considerabili tipi a tutti gli effetti e le istanze
sono variabili di quel tipo (chiamate per comodita' oggetti).
Una variabile di tipo intero e' un'istanza del tipo intero.
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

 Una variabile di tipo intero e' un'istanza del tipo intero.
In un linguaggio a oggetti, per istanza non si intende l'oggetto,
la "concretizzazione in memoria" del concetto astratto di classe?
int i; i sarebbe un'istanza?
maS
Sent via Deja.com
http://www.deja.com/

int i; i sarebbe un'istanza?
Si', i e' un'istanza del tipo intero.
"int" potrebbe benissimo essere una classe.


Non vi è già la classe Integer?
rhymes
rhy...@insieme.net


 a cui verrà ,istanziato(ovvero allegato)l'ogetto in questione::ciao ciao!!
Non per volerti correggere, ma solo per assicurarmi che qualcuno non 
prenda sul serio quello che hai scritto.
Leggiti i thread precedenti
-- 
Ugo
__________________________________________________________________________
"La perfezione si ottiene non quando non c'è nient'altro da aggiungere,
  bensì quando non c'è più niente da togliere." Antoine de Saint-Exupéry
__________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Enterprise Java Consulting
@mail: 
ugo.l...@flashnet.it
@work: 
ugo.l...@sun.com
Home Page: 
http://www.ugolandini.net
Home Page: 
http://ugolandini.hypermart.net
 (DNS is changing)
Fax Phone: 06/233207542
Cell Phone: 0347/6310749 - 0347/4783580
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 "int" potrebbe benissimo essere una classe.
In un linguaggio ad oggetto "puro" potrebbe essere cosi', ma in java no. Se
si facesse "Integer i = new Integer()" "i" sarebbe effettivamente una
istanza di un intero, ma se prendiamo il costrutto "int i=3" io non
considererei "i" come istanza di qualche oggetto.
I tipi primitivi (int, long, char ecc...) non sono considerati come classi.
Quando si fa "int i = 3" non si sta istanziando nessuna classe e i non
contiene nessun riferimento, semplicemente la variabile "i" contiene
effettivamente il numero 3.
byez
mirko.

considererei "i" come istanza di qualche oggetto.
"i" e' istanza di un tipo.
A questo mi riferivo.


 >"int" potrebbe benissimo essere una classe.
In effetti, Integer è una classe wrapper per gli int. int non è una
classe perchè non ha metodi proprietà etc etc (se si esclude il suo
valore).
Ciao,
 Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------


no, xche` "int" non e` una classe.
  Integer i = new Integer();
e` invece un'istanza.
In Java esistono tipi Oggetti (definiti con il costrutto di classe e
istanziati tramite l'operatore new) e tipi "primitivi" (int, chat,
boolean, double...) che sono +/- uguali a quelli che trovi nei classici
linguaggi procedurali. E` per questo che java non e` "100% pure O.O.".
Tali tipi primitivi fanno parte delle specifiche del linguaggio stesso,
e non possono essere "eliminati/modificati/aggiunti". In un certo senso
sono "codificati" nel linguaggio, mentre tutto quanto e` "classe"
(Integer, ad esempio) fa parte di una qualche libreria fornita a corredo,
che -con i dovuti limiti- puoi eliminare/modificare/estendere...
Nella programmazione ad oggetti, per istanza si intende uno specifico
oggetto il cui tipo e` stato definito tramite il costrutto di classe.
Quindi:
- Integer i;
     e` una *variabile* di tipo Integer (un riferimento "pendente"
     visto che i "non e` istanziata", cioe` non fa riferimento a
     nessuna istanza).
- Integer i = new Integer();
     e` una *variabile* di tipo Integer che fa riferimento ad *un'istanza*
     di Integer (notare che l'istanza di Integer risiede in memoria, non
     e` i, la quale e` solo un riferimeto: potrei anche avere piu`
     riferimenti alla stessa istanza).
- int i;
     e` una variabile intera. (tipo primitivo).
...puo` sembrare complicato... ma non lo e`.
-- 
Ciao,   |     /"\
 Matteo |     \ /     ASCII RIBBON CAMPAIGN
        |      X        AGAINST HTML MAIL
        |     / \

> 
[... omissis ...]
M> - int i;
M>      e` una variabile intera. (tipo primitivo).
E l'istanza esiste automaticamente, è la porzione di memoria usata per
memorizzare il contenuto della variabile i...
M> In Java esistono tipi Oggetti (definiti con il costrutto di classe e
M> istanziati tramite l'operatore new) e tipi "primitivi" (int, chat,
                                                                ^^^^
:) :)
M> -- 
M> Ciao,   |     /"\
M>  Matteo |     \ /     ASCII RIBBON CAMPAIGN
M>         |      X        AGAINST HTML MAIL
M>         |     / \
Way cool!
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: sierra alfa india november tango AT echo november golf DOT india tango

- Integer i = new Integer();
     e` una *variabile* di tipo Integer che fa riferimento ad *un'istanza*
     di Integer (notare che l'istanza di Integer risiede in memoria, non
     e` i, la quale e` solo un riferimeto: potrei anche avere piu`
     riferimenti alla stessa istanza).
- E l'istanza esiste automaticamente, č la porzione di memoria usata per
   memorizzare il contenuto della variabile i...
Alla fine... come definizione
prendiamo queste per buone?
Allora da quanto ho capito, č la memoria che viene istanziata.... o meglio
č la variabile che viene istanziata in memoria, giusto?


 
appunto mentale: non chattare mentre si postano news su
it.comp.java... ;-)
-- 
Ciao,  |  I play Russian roulette everyday, a man's sport,
Matteo |  With a bullet called life, yeah called life, (SUGAR)


in tutta sincerita` non so` quanto sia corretto parlare di "istanza" di
un tipo primitivo come int. AFAIK nei linguaggi O.O. con il termine istanza
ci si riferisce ad un "oggetto", ed in questo caso i non e` un'oggetto: ha
caratteristiche ben diverse.


 writes:
M> in tutta sincerita` non so` quanto sia corretto parlare di "istanza" di
M> un tipo primitivo come int. AFAIK nei linguaggi O.O. con il termine istanza
M> ci si riferisce ad un "oggetto", ed in questo caso i non e` un'oggetto: ha
M> caratteristiche ben diverse.
In Java di sicuro la differenza è notevole. Ma ad esempio in C++ puoi
allocare un oggetto sullo stack esattamente come allochi un intero.
Io penso [IMHO]che il termine "istanza" sia usato come dici sia perché
bisogna far capire ai principianti  la differenza tra classe e oggetto
e poi  perché gli oggetti sono  nella maggior parte  dei casi allocati
nello heap e ci si accede attraverso un puntatore/ riferimento/ handle
e  quindi  c'è  la  necessita  di  distinguere  bene  l'oggetto  dalla
variabile  che usiamo per  accedere all'oggetto.  Con le  variabili di
tipi primitivi questa esigenza non si sente...
