www.calshop.biz

Ultimi Inserimenti

Spywares: cosa sono e come ci si difende
La terminologia "spyware", acronimo di-spia, racchiude, semplificando, una infinità di di vario genere, realizzati allo scopo di memorizzare tutte le preferenze dell'utente, di sottrarre le passwords e logins di accesso a siti riservati, di mantenere traccia dei tasti digitati più frequentemente sulla tastiera, di reindirizzare a siti web warez o porno ecc. ecc. Si calcola che il 90% dei frequentatori di Internet, abbiano il loro PC infetto.
Collegare il Pc alla Televisione
Questo articolo è una piccola guida su come, a livello e principalmente a livello, "portare" il segnale audio e video del vostro pc su una comune tv.
 Smiles
 Traduzioni
 Informazione
 

Hot Link

Balloon Hunter
Arco, frecce e palloncini
L'uomo Cannone
Calcola la forza e l'angolo di tiro e il gioco è fatto.
Gioca con i puzzle
Sobics è un delizioso puzzle game online, completamente
realizzato in Flash.
Game Maker 6
Creiamo i nostri videogiochi
Palline da girare
GateGears
Cheats & Tips
a cura di Fabrizio Miceli
Giochi in Flash Gratis
Tutta l'emozione del Gioco Online
Animazioni Gratis
Stupende animazioni gratis!

 

 

Manuali Gratis: 2005 - 2006  -

Manuali e GuideTrucchi per PCDisegni da colorare e da stampareGif AnimateFlash Games
Manuali e GuideTrucchi per PCDisegniGif AnimateFlash Games
Google
 
Web www.calshop.biz
Manuali e Guide Gratis on line @ calshop.biz ... the only one!

Il linguaggio Java: lez.4

Obbiettivi e Unità Didattica 3.1) - Pagina 1
Unità didattica 3.2) - Pagina 2
Unità didattica 3.3) - Pagina 3
Unità didattica 3.4) - Pagina 4
Unità didattica 3.5) - Pagina 5
Unità didattica 3.6) - Pagina 6


1 | 2 | 3 | 4

3 - Unità didattica 3.3)

  

- Tipi di dati non primitivi: reference

Abbiamo già visto come istanziare oggetti da una certa classe. Dobbiamo prima dichiarare un oggetto di tale classe con una sintassi di questo tipo:

    NomeClasse nomeOggetto;

per poi istanziarlo utilizzando la parola chiave new. Dichiarare un oggetto quindi è del tutto simile a dichiarare un tipo di dato primitivo. Il "nome" che diamo ad un oggetto è detto "reference". Infatti, non si sta parlando di una variabile tradizionale bensì di un puntatore. Possiamo definire un puntatore come una variabile che contiene un indirizzo in memoria. C’è una sottile e potente differenza tra la dichiarazione di un tipo di dato primitivo ed uno non primitivo. Consideriamo ora un esempio, partendo dalla definizione di una classe che astrae in maniera banale il concetto di data.

class Data

{

    int giorno;

    int mese;

    int anno;

}

Data sarà quindi un tipo di dato non primitivo (astratto) per il nostro esempio. Come tipo di dato primitivo consideriamo un double. Consideriamo le seguenti righe di codice, supponendo che si trovino all’interno di un metodo main di un’altra classe:

    double unNumero=5.0;

    Data unGiorno=new Data();

La variabile unAltroNumero, assumerà lo stesso valore della variabile unNumero, ma, le due variabili, rimarranno indipendenti l’una dall’altra. Infatti, il valore della variabile unNumero, sarà copiato nella variabile unAltroNumero. Se il valore di una delle due variabili sarà successivamente modificato, l’altra variabile non apporterà modifiche al proprio valore.

Invece, il reference unAltroGiorno, semplicemente assumerà il valore (cioè l’indirizzo) del reference unGiorno. Ciò significa che unAltroGiorno punterà allo stesso oggetto cui punta unGiorno.

Quindi, se successivamente sarà apportata una qualche modifica tramite uno dei due reference all’oggetto comune, ovviamente questa sarà verificabile anche tramite l’altro reference. Per intenderci:

    unGiorno.anno

è sicuramente equivalente a:

    unAltroGiorno.anno

 - Passaggio di parametri per valore

Come abbiamo già accennato nel precedente capitolo il passaggio di parametri in Java avviene sempre per valore. Ciò significa che quando viene invocato un metodo che come parametro prende in input una variabile, al metodo stesso viene passato solo il valore (una copia) della variabile, che quindi rimane immutata anche dopo l'esecuzione del metodo. Per esempio consideriamo la classe:

    class CiProvo

        {

        public void cambiaValore(int valore)

        {

            valore = 1000;

        }

        }

il seguente frammento di codice:

    CiProvo ogg = new CiProvo();

    int numero = 10;

    ogg.cambiaValore(numero);

    System.out.println(“il valore del numero è ” + numero);

produrrà il seguente output:

    il valore del numero è 10

Infatti il parametro valore del metodo cambiaValore(), nel momento in cui è stato eseguito il metodo, non coincideva con la variabile numero, bensì immagazzinava solo la copia del suo valore (10). Quindi ovviamente la variabile numero non è stata modificata.

Stesso discorso vale per i tipi reference: viene sempre passato il valore del reference, ovvero, l'indirizzo in memoria. Per esempio consideriamo la seguente classe:

    class CiProvoConIReference

        {

        public void cambiaReference(Data data)

        {

        data = new Data(); // Un oggetto appena istanziato

        // ha le variabili con valori nulli

        }

        }

il seguente frammento di codice:

    CiProvoConIReference ogg = new CiProvoConIReference();

    Data dataDiNascita = new Data();

    dataDiNascita.giorno = 26;

    dataDiNascita.mese = 1;

    dataDiNascita.anno = 1974;

    ogg.cambiaReference(dataDiNascita);

    System.out.println(“Data di nascita = ” + dataDiNascita.giorno

+ “-”+ dataDiNascita.mese + “-” +dataDiNascita.anno );

produrrà il seguente output:

    Data di nascita = 26-1-1974

Quindi valgono le stesse regole anche per i reference.

N.B.: Attenzione che se il metodo cambiaReference() avesse cambiato i valori delle variabili d'istanza dell'oggetto avremmo avuto un output differente. Riscriviamo il metodo in questione:

    public void cambiaReference(Data data)

    {

        data.giorno=29; // data punta allo stesso indirizzo

        data.mese=7 // della variabile dataDiNascita

    }

Il fatto che il passaggio avvenga sempre per valore, garantisce che un oggetto possa essere modificato, e contemporaneamente, si è certi che dopo la chiamata del metodo il reference punti sempre allo stesso oggetto.

N.B.: altri linguaggi come il C, permettono anche il passaggio di parametri “per riferimento”. In quel caso al metodo viene passato l'intero riferimento, non solo il suo indirizzo, con la conseguente possibilità di poter mutarne l'indirizzamento. Java ha scelto ancora una volta la strada della robustezza e della semplicità, favorendola alla potenza del linguaggio

 

Obbiettivi e Unità Didattica 3.1) - Pagina 1
Unità didattica 3.2) - Pagina 2
Unità didattica 3.3) - Pagina 3
Unità didattica 3.4) - Pagina 4
Unità didattica 3.5) - Pagina 5
Unità didattica 3.6) - Pagina 6

Pagina :
1 | 2 | 3 | 4

Restyling e Aggiornamenti della sezione manuali e guide a cura di: Fabrizio Miceli

Trucchi PC e Guide
Tips su sistemi operativi, registro di configurazione, sicurezza, internet, navigazione, word ed excel.
 
Guide e sulla configurazione, installazione ed utilizzo di, periferiche, sistemi operativi ecc...

   

Ultime novità! Ultime novità nel portale del tutto gratis e on line
@ calshop.biz ... the only one!


News

Il Forum di calshop

Link in evidenza

"Google Talk", la nuova chat che comunica senza tastiera
La nuova sfida di Google si chiama "Google Talk" un nuovissimo sistema che consentirà agli utenti di chattare con una serie di strumenti che vanno al di là della semplice tastiera. Particolarmente sviluppato sarà il supporto della voce per parlare con gli altri utenti collegati, grazie a  microfono e cuffie. Sia Microsoft che Yahoo offrono il supporto per la voce.

News in pillole:  • Maradona e Pelè • Il pericolo viene dalla posta • Chi sale e chi scende • Immagini in ordine • I tesori nascosti di Ebay • I più cliccati di agosto!  [[[ Virus Zotob: scatta l'allarme rosso ]]]

Installa Yahoo! Messenger with Voice:

Giochi Gratis | Software Gratis  |

Ultimi Manuali on line
Le chicche di calshop! Wake on lan
Le chicche di calshop! NET SEND
Le chicche di calshop! Mandaci il tuo manuale

In Evidenza

 

 
.

Copyright  © 1998-2005 Calshop.biz. Ideazione, Progettazione e Realizzazione a cura di Luigi Palamara e Bruna Italia Massara Contatti

Il Network: • NewsLab • Reggio Calabria • Area Grecanica • Roccaforte del Greco • Italia Umts • Tutto Gratis • Dune Buggy



Le chicche di calshop! Tutta la posta di Gmail sul PC. Il servizio webmail di Google può essere gestito anche con Outlook Express. Ecco le giuste Impostazioni.