Telefonino.net network
 
| 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 » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 15-02-2005, 22.53.13   #16
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
I Deitel li trovi in italiano
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
Dav82 non è collegato   Rispondi citando
Vecchio 15-02-2005, 22.54.43   #17
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
Li cerchero domani!
Downloader non è collegato   Rispondi citando
Vecchio 15-02-2005, 22.57.27   #18
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
Quota:
Originariamente inviato da Downloader
Li cerchero domani!
Ah... ehm... come dire... in zona universitaria li puoi anche trovare che costano meno, molto meno... capisc' ammè
Dav82 non è collegato   Rispondi citando
Vecchio 19-02-2005, 17.11.54   #19
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
Quota:
Originariamente inviato da Dav82
Io ho usato il Thinking in Java, di Bruce Eckel, lo puoi trovare su internet con Google, il file si chiama TIJ3.pdf o qualcosa del genere Unica cosa è che è in inglese
L'ho visto ieri in italano, pero credo prendero Fondamenti di Java 2 di Herbert Schildt perccè oltre al prezzo mi pare spiegato piu semplicemente di altri.

Downloader non è collegato   Rispondi citando
Vecchio 08-03-2005, 20.03.51   #20
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
Altra cosuccia:

mi potresti spiegare la logica della variabile this?

Cioè essenzialmente a che mi serve?
E' obbligatorio metterla?
Downloader non è collegato   Rispondi citando
Vecchio 08-03-2005, 20.19.01   #21
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
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;
   }
}
Come vedi, con l'uso di this riesci a distinguere fra il valore passato come parametro al metodo e l'attributo della classe.
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
Dav82 non è collegato   Rispondi citando
Vecchio 14-03-2005, 19.14.47   #22
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
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??
Downloader non è collegato   Rispondi citando
Vecchio 14-03-2005, 21.06.50   #23
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
Quota:
Originariamente inviato da Downloader
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??
Allora, in Java non esiste la possibilità di deallocare una zona di memoria con puoi fare in C con la free(), perchè non puoi interagire direttamente con la memoria.

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
Dav82 non è collegato   Rispondi citando
Vecchio 22-03-2005, 19.55.05   #24
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
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(""); 
   }
  }
Downloader non è collegato   Rispondi citando
Vecchio 23-03-2005, 19.51.03   #25
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
Come non detto
Downloader non è collegato   Rispondi citando
Vecchio 25-04-2005, 14.18.48   #26
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
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??
Downloader non è collegato   Rispondi citando
Vecchio 25-04-2005, 14.52.55   #27
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
[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:
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??
No no, non devi riscrivere i metodi (e quindi il costruttore, che ninet'altro è che un metodo un po' speciale) della classe da cui erediti. E' come una normale classe che eredita da un'altra, solo che devi implementare i metodi che nella classe padre erano dichiarati abstract; puoi anche scegliere di non implementarli (o di implementarne solo qualcuno ma non tutti) e quindi devi dichiarare abastract anche questa classe.

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
Dav82 non è collegato   Rispondi citando
Vecchio 25-04-2005, 18.09.48   #28
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
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??
Downloader non è collegato   Rispondi citando
Vecchio 25-04-2005, 19.17.11   #29
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
Quota:
Originariamente inviato da Downloader
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??
In una classe normalmente ci sono degli attributi, che altrettanto normalmente hanno visibilità private, cioè possono essere modificati solo all'interno della classe stessa, oppure senza nessun modificatore (detti anche friendly, ma questo dipende dalla letteratura che leggi), cioè possono essere modificati all'interno della classe e di eventuali classe che ereditano dalla stessa.
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;
   }
}
Se A è particolarmente sensibile al proprio nome, nel metodo set, prima di fare l'assegnamento del nuovo valore passato come parametro, potrà controllare che non sia troppo offensivo...

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
Dav82 non è collegato   Rispondi citando
Vecchio 25-04-2005, 20.10.24   #30
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
tnx!
Downloader non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

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

Orario GMT +2. Ora sono le: 07.23.22.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.