|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
15-02-2005, 22.53.13 | #16 |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Qualsiasi libreria universitaria non fuffa (ossia una libreria per ingegneria ) li tiene in catalogo. Se ti serve una cosa che parte proprio dalla base cmq i Deitel vanno benissimo |
15-02-2005, 22.54.43 | #17 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Li cerchero domani!
|
15-02-2005, 22.57.27 | #18 | |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Quota:
|
|
19-02-2005, 17.11.54 | #19 | |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Quota:
|
|
08-03-2005, 20.03.51 | #20 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Altra cosuccia:
mi potresti spiegare la logica della variabile this? Cioè essenzialmente a che mi serve? E' obbligatorio metterla? |
08-03-2005, 20.19.01 | #21 |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
La parola chiave "this" si riferisce all'oggetto corrente.
Serve principalmente per disambiguare fra parametri formali (quelli nella signature del metodo) e attributi di classe. Scusa sono di fretta faccio un esempio semplice: Codice:
private class Dav82{ private boolean figo = true; :D private String residenza = ""; private String a = ""; private String b = ""; private String c = ""; public void setResidenza (String residenza){ this.residenza = residenza; } public void foo (String x, String y, String z){ this.a = x; this.b = y; this.c = z; } } Poi, come vedi in foo, serve anche per dare una certa eleganza al codice, in modo che sia subito evidente quando ti riferisci ad un attributo della classe... o meglio, a ma piace di più così. Mi frulla nella mente che c'è anche un altro uso di this ma... non so se mi frulla e basta, oppure se c'è veramente |
14-03-2005, 19.14.47 | #22 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Altra cosuccia (che scocciatore eh?):
Quando voglio eliminare un oggetto basta che la variabile di referenze la uguagli a null, ma il metodo gc() a che mi serve?? |
14-03-2005, 21.06.50 | #23 | |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Quota:
Nell'ambiente di esecuzione è attivo un thread di garbage collecting che si occupa di liberare la memoria occupata da oggetti verso i quali non esistono più riferimenti: in sostanza se non è più possibile riferirsi ad un determinato oggetto, questo viene preso in consegna dal garbage collecting (e ponendo il tuo riferimento == null tu fai in modo che possa succedere questo). Se tu chiami System.gc() invochi il metodo di garbage collecting ma NON sei sicuro che avvenga effettivamente la free() della memoria, in quanto la chiamata a questo metodo è interpretata dalla JVM alla stregua di un consiglio: "Uè, se hai voglia, fai pure la garbage collection!" ma niente più. L'operazione di garbage collection è a totale discrezione della JVM p.s: Downloader.isScocciator() == false |
|
22-03-2005, 19.55.05 | #24 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Perchè l'input di una stringa non va?
Invece usando la classe Console per i valori numerici tutto ok. Codice:
void popolaNominativi() { System.out.println("Numero libri da inserire: "); num = Console.readInt(""); for (i=num;i<max;i++) { System.out.println("Autore: "); //lista[i].autore = Input.readLine(); System.out.println("Genere: "+lista[i].genere); //lista[i].genere = Input.readLine(); System.out.println("ID: "+lista[i].Id_libro); lista[i].Id_libro = Console.readInt(""); System.out.println("Casa editrice: "+lista[i].casa_editrice); //lista[i].casa_editrice = Input.readLine(); System.out.println("Anno di pubblicazione: "+lista[i].anno_pubblicazione); //lista[i].anno_pubblicazione = Input.readLine(); System.out.println("Costo (in euro): "+lista[i].costo); lista[i].costo = Console.readInt(""); } } |
23-03-2005, 19.51.03 | #25 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Come non detto
|
25-04-2005, 14.18.48 | #26 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Concetto di ASTRAZIONE
Allora, una classe si dice astratta quando non puo generare oggetti. Per astrarre una classe oltre alla dichiarazione all'inizio della classe (es: abstract public class Classe) deve avere anche un metodo o un parametro dichiarato abstract. Nella sottoclasse invece che erditera la classe astratta devo riscrivere tutti i metodi della classe padre senza pero codice (es: public provaUno(){ }). Ma ci devo mettere anche il costruttore della classe padre?? E' giusto o sbaglio qualcosa?? |
25-04-2005, 14.52.55 | #27 | |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
[QUOTE]Originariamente inviato da Downloader
Allora, una classe si dice astratta quando non puo generare oggetti. Per astrarre una classe oltre alla dichiarazione all'inizio della classe (es: abstract public class Classe) deve avere anche un metodo o un parametro dichiarato abstract.[QUOTE] Esattamente. Non puoi generare oggetti della classe astratta perchè in effetti quella classe non è completa, le mancano dei pezzi. Quota:
Ovviamente puoi anche riscrivere metodi della classe padre che non erano abstract, anche qui come in una normale gerarchia di ereditarietà (per esempio per specializzarne il comportamento). Ancora ovviamente, anche dopo che hai "coperto gli abstract" con delle classi figlie non puoi creare oggetti della classe abstract di partenza, poichè quella è e rimane abstract Ciao |
|
25-04-2005, 18.09.48 | #28 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Altra cosuccia: (oggi mega studiata di java)
vedo molto spesso che sono definiti metodi di tipo set e get. Ma sti set e get cosa devono farmi capire del metodo in questione?? E sopratutto come mi comporto nel caso debba scrivere del codice la dentro?? |
25-04-2005, 19.17.11 | #29 | |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Quota:
Ma è possibile che un classe B abbia bisogno che i valori degli attributi della classe A vengano modificati (pensa al solito esempio dell'oggetto Correntista che, prelevando, deve modificare il valore degli attributi dell'oggetto ContoCorrente): B non può dire scrivere una cosa tipo A.attributo1 = nuovoValore o anche solo variabileDiB = A.attributo3, perchè otterebbe un errore a tempo di compilazione, visto che B non può accedere (quindi né in lettura né in modifica) agli attributi di A in quanto questi sono private Allora A fornisce dei metodi get e set, per poter rispettivamente leggere e scrivere il valore di un attributo: ovviamente A in questi metodi può fare dei controlli etc etc... I tipici metodi get e set sono: Codice:
public class A{ private int nome; public int getNome(){ return this.nome; } public void setNome(int nome){ this.nome = nome; } } Questo in generale e nella pratica comune... Se poi guardi i programmi scritti da certi Yugoslavi (chiedi a Google: Davide Bianchi, storie dalla sala macchine) non saranno certamente fatti così Ciao edit: sti tag del cavolo! Ultima modifica di Dav82 : 25-04-2005 alle ore 19.27.38 |
|
25-04-2005, 20.10.24 | #30 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
tnx!
|
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
Problemi Java. | Armando@56 | Software applicativo | 4 | 19-03-2008 16.27.05 |
Applicazione java pronta per l'uso | juggler | Programmazione | 1 | 18-12-2006 22.11.18 |
[NEWS] Java diventa open source! | UG0_BOSS | Segnalazioni Web | 2 | 14-11-2006 16.27.14 |
Java 5.0 upd. 10 / 6 RC | Thor | Archivio News Web | 10 | 14-11-2006 13.56.18 |
[LINUX] windows media player per linux | sacarde | Linux e altri Sistemi Operativi | 35 | 19-08-2006 12.55.31 |