CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 5 su 5
Discussione:

Spiegazione codice

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano


    Registrato dal
    Aug 2010
    Messaggi
    229

    Ringraziamenti
    0
    Ringraziato 5 volte in 4 Posts
    Predefinito

    Spiegazione codice

    Sempre preso dal libro del Dott. Carli :

    qualcuno di buon cuore che mi spieghi rigo per rigo che significa ?

    Per far capire che non sono svogliato vi dico cosa ho capito io...

    Perchè qui vedo instanziata una classe che si chiama CustomItem che dichiara 2 variabili fistname e lastname come stringe.

    Poi vedo un metodo "createItems" che fa ritornare un'array che si chiama come la classe cui sopra Customitem (e già non capisco il motivo)....

    comunque, andando avanti, con questo codice :

    capisco che viene creato un array che si chiama items di grandezza 20 (giusto?)

    andando ancora avanti vedo che parte un ciclo for con i che assume dei valori che partono da 0 ed arrivanno fino alla lunghezza dell'array ossia 20 (questa forse è l'unica cosa che mi è chiara )

    questo poi è un altro punto che non capisco proprio :

    si inserisce in items[0],items[1]..items[20] cosa ? la dichiarazione di 2 variabili public String firstname e public String lastname ??

    e poi mi spiegate anche queste righe ?? :


    Grazie

  2.  
  3. #2
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Trattasi di bieco generatore di dati di prova, perché le entry da infilare nei test non sono mai abbastanza

    CustomItem è un oggetto composto solo di due attributi, nome e cognome.
    Personalmente avrei creato la createItems static (oltre a creare le set e le get per gli attributi, perché se tocchi troppo gli attributi diventi cieco )

    In ogni caso, una volta invocata la createItems il risultato è un listone di 20 persone dummy che hanno nome "Firstname5 Lastname_5" (per esempio)
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  4. #3
    Androidiano


    Registrato dal
    Aug 2010
    Messaggi
    229

    Ringraziamenti
    0
    Ringraziato 5 volte in 4 Posts
    Predefinito

    Ma praticamente ocn questa riga di codice
    items[i] = new CustomItem();
    che faccio ? istanzio in item[0]..1..2..20 sia la var cognome che nome ?? non capisco...

    e poi se ItemCustom è una classe come fa poi a diventare un array in createItem nella riga CustomItem[] items = new CustomItem[20]; qualcosa mi sfugge...

  5. #4
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da mimmog Visualizza il messaggio
    Ma praticamente ocn questa riga di codice
    items[i] = new CustomItem();
    che faccio ? istanzio in item[0]..1..2..20 sia la var cognome che nome ?? non capisco...

    e poi se ItemCustom è una classe come fa poi a diventare un array in createItem nella riga CustomItem[] items = new CustomItem[20]; qualcosa mi sfugge...
    Aspetta un momento, perché l'indentazione mi ha tratto un po' in inganno.
    La definizione completa di CustomItem è:



    Quindi parliamo di un oggetti che ha due attributi firstname e lastname

    Il secondo pezzo di codice usa la classe sopra definita, ma non devi considerarla compresa in essa.

    Il metodo (implementato evidentemente in un'altra classe, NON CustomItem)



    Crea un array di CustomItem (quindi un gruppo di oggetti ognuno con un suo firstname e lastname) e dopo assegna a ognuno valori dummy.

    Forse ti trae in inganno il costruttore di array. In realtà i due new hanno un senso molto diverso:



    dice solo al sistema "fai spazio abbastanza per 20 elementi di tipo CustomItem". Ma in realtà a questo punto l'elemento items[x] è solo uno spazio non inizializzato di memoria (quindi secondo alcune religioni, una porta verso gli inferi ).
    Quando poi però si agisce con



    Allora si viene fabbricato un elemento di tipo CustomItem e inserito in memoria nella posizione i dell'array sopra creato.
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  6. #5
    Androidiano


    Registrato dal
    Aug 2010
    Messaggi
    229

    Ringraziamenti
    0
    Ringraziato 5 volte in 4 Posts
    Predefinito

    Ah ok ! ora ho capito ! grazie!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy