Differenza tra Java mutevole e immutabile

April 27

programmi Java dividono le attività delle applicazioni tra gruppi di oggetti. Questi oggetti hanno proprietà e metodi progettati per gestire una particolare sezione di elaborazione delle applicazioni. comportamento oggetto è determinato dalle dichiarazioni di classe per un tipo di oggetto. programmatori Java possono utilizzare i tipi standard all'interno del linguaggio, oppure possono opzionalmente creare le proprie classi e oggetti per soddisfare le esigenze dei progetti su cui stanno lavorando. Mutevolezza e l'immutabilità sono aspetti fondamentali dello sviluppo Java.

Oggetti e classi

programmazione Java utilizza sviluppo orientato agli oggetti. Quando si sviluppa un progetto Java, i programmatori possono creare dichiarazioni di classe progettati per svolgere i compiti all'interno dell'applicazione. Una volta che una dichiarazione di classe esiste all'interno di un progetto, altri file di progetto in grado di creare oggetti del tipo definito all'interno di questa dichiarazione. Gli oggetti hanno proprietà e comportamenti che corrispondono a quelli delineati nelle loro file di classe. Un oggetto tipico avrà una serie di elementi di dati all'interno di esso e una serie di metodi per svolgere compiti di elaborazione.

Proprietà

oggetti Java hanno in genere uno o più elementi di dati al loro interno, rappresentati come campi o variabili. Spesso, quando il codice esterno crea un oggetto di un certo tipo, alcune di queste variabili sono valori assegnati dal metodo della classe di costruzione. In molti casi, una classe fornirà la capacità, internamente o esternamente, per modificare questi valori. Se questo è possibile, allora la classe è mutevole. Un oggetto immutabile è uno il cui contenuto non può essere modificato dopo la creazione. Quando si crea un oggetto immutabile e valori assegnati, questi valori sono fissi. Questo significa che se i valori devono cambiare in qualsiasi punto, è essenzialmente necessario creare un nuovo oggetto dello stesso tipo.

metodi

In molti casi, le classi Java forniscono metodi che alterano i valori delle variabili di classe. Alcuni esempi includono metodi setter. Un metodo setter è uno che imposta il valore di una variabile. Ad esempio, in una dichiarazione di classe con una variabile stringa chiamata "myName" il seguente metodo setter può esistere:

public String setName (String newName) {

myName = newName;

}

Questo metodo fornisce codice esterno con la possibilità di modificare il contenuto di un oggetto. In un oggetto immutabile questo non dovrebbe essere possibile, in quanto i valori dovrebbero rimanere lo stesso, una volta che sono state inizialmente fissata, normalmente quando viene creato l'oggetto.

Uso

Il linguaggio Java fornisce una vasta gamma di classi per i vari tipi di funzione dell'applicazione. La classe String è un esempio comune di un tipo immutabile, spesso utilizzato in applicazioni Java. Ad esempio, il seguente codice di esempio illustra la creazione di una variabile stringa in un progetto Java:

String myWord = "mela";

Una volta che questo codice viene eseguito, il contenuto della stringa, che è il suo valore di testo, non può essere modificato. Questo significa che se il valore cambia, un nuovo oggetto stringa deve essere creato. Ad esempio, il codice seguente, l'esecuzione ad un certo punto più avanti nel programma in cui la variabile stringa è ancora accessibile, farà sì che Java per creare un nuovo oggetto di stringa e aggiornare il riferimento all'oggetto esistente per indicare che:

myWord = "banana";